Quando uma célula em um UITableView leva a uma subvisualização, pode ser útil ter algum contexto visual adicionado. Um indicador de divulgação em uma UITableViewCell é uma pequena divisa exibida na borda direita para indicar visualmente que ela leva a algum lugar. Por exemplo, dê uma olhada na pasta 8220History8221 no Mobile Safari Bookmarks: Nifty, aqui em How8217s como fazer: 8211 (UITableViewCell) tableView: (UITableView) tableVisualizar cellForRowAtIndexPath: (NSIndexPath) indexPath estático NSString CellIdentifier quotCellquot UITableViewCell cell tableVer dequeueReusableCellWithIdentifier: CellIdentifier if (cell nil) célula UITableViewCell alloc initWithStyle: UITableViewCellStyleDefault reuseIdentifier: AutorIease de cellIdentifier Lembre-se de que um indicador de divulgação é meramente para contexto visual, na verdade, não faz nada. Você ainda precisa implementar a subvisualização que deseja exibir. Você ficou frustrado com a pequena área de toque circular ao configurar o tipo de acessório de uma UITableViewCell para ser UITableViewCellAccessoryDisclosureIndicator A menos que você tenha dedos de criança, é muito difícil selecioná-la consistentemente. Aqui está uma maneira de melhorar a experiência do usuário e criar o mesmo efeito de um touch pad maior, como você vê no aplicativo do YouTube. Para fazer isso, você precisa implementar uma célula de exibição de tabela personalizada. Você pode criar sua própria subclasse ou adicionar subvisualizações ao contextView cell8217s. Este exemplo mostra como fazer o último. Ao configurar o meu UITableViewCells, gosto de criar métodos que forneçam os elementos que desejo usar para adicionar ao contentView do cell8217s. Aqui estou criando um UIButton do tipo UIButtonTypeDetailDisclosure a ser adicionado a cada célula na tabela. O botão possui uma área de 44 x 44 pixels e ocupa a área mais à direita da célula de visualização de tabela que terá 320 pixels de largura e 44 pixels de altura. Observe aqui que você define um destino e uma ação de sua preferência, em vez de usar os retornos de chamada para o tipo de acessório definido no protocolo UITableViewDelegate. A seguir mostra como adicionar o botão à célula no método cellForRowAtIndexPath na classe do controlador de exibição de tabela. À medida que você adicionar subvisualizações ao contentView, certifique-se de que seu indicador de divulgação detalhada seja renderizado na parte superior. Além disso, verifique se você está lidando adequadamente com a reutilização de suas células. Finalmente, para processar o evento de seleção, é necessário o seguinte código: 7 Responses to 8220Larger Touch Area for Detail Disclosure Indicator8221 Obrigado pelo código. I8217m tendo algumas dificuldades quando o botão é realmente submetido. I8217m adicionando a visualização de botão após a subclasse I8217ve de um UITableViewCell com vários rótulos. O botão aparece bem, mas não consigo retornar o IndexPath para essa célula selecionada. I8217m usando o exemplo SeismicXML para construir meu UITableView. O código dentro do 8211 (void) detailDiscolosureIndicatorSelected: (UIButton) remetente doesn8217t me permite pegar qualquer um dos dados associados ao meu celular. Qualquer sugestão I8217m realmente precisa de um UIButton adicionado a um UITableViewCell para responder às suas próprias ações. Obrigado pela consulta Um caminho a percorrer é armazenar o número da linha no atributo tag do botão ao criar a célula. Dessa forma, você8217ll terá esses dados no objeto emissor. Essa abordagem se torna menos útil (ou mais complicada) se a sua visão de tabela possui mais de uma seção. Tenho certeza de que existem abordagens mais elegantes. Usar o código abaixo deve funcionar também, mas a experiência desta manhã mostrou que ele não retorna os dados corretos para a minha implementação. NSIndexPath indexPath tableView indexPathForSelectedRow Mantenha-me informado sobre como funciona Obrigado por esta dica. Usei a propriedade tag do botão para armazenar o índice de células quando criei o botão e consegui usá-lo para acionar uma ação com base na célula button8217s, embora o botão não esteja vinculado à célula. Você viu o código de exemplo do acessório no SDK. O IndexPath é obtido através do ponto de toque na exibição. CGPoint currentTouchPosition toque locationInView: self. tableView NSIndexPath indexPath self. tableView indexPathForRowAtPoint: currentTouchPosition I8217m tentando usar a propriedade de marca como you8217ve mencionou acima, mas can8217t faça com que ela funcione. Você se importaria de postar o código de como fazer isso? Depois de definir o valor do tag button8217s ao criar o botão, tentei usar o sender. tag para recuperar o valor quando o botão é pressionado, mas meu código não é compilado. Acabei de receber um erro 8216request para membro não uma estrutura ou union8217. Qualquer código de amostra seria apreciado. para Gary Primeiro typecast o remetente para botão botão UIButton (UIButton) remetente int tagbutton. tag albertofloyd, muito obrigado por seu exemplo mencionando Acessório. Ele resolve exatamente todos os problemas relacionados às ações indexPath e UIButton. Deixar uma respostaAlterar a cor de um indicador de divulgação Em alguns aplicativos do iOS, um designer / desenvolvedor pode querer alterar a cor de um acessório de célula de exibição de tabela, como um sinal de verificação ou um indicador de divulgação. Alterar a cor de um Checkmark é direto. De stackoverflow / questions / 26045738 / swift-uitableviewcellaccessorytype-change-marca de verificação-cor mudando a cor de um Checkmark é feita por: No entanto, esta técnica não funcionará para um. DisclosureIndicator. Porque eu não sei. Outros sugeriram um trabalho que usa uma imagem do Indicador de Divulgação. O código Swift para isso, também dentro de tableView: CellForRowAtIndexPath é: Para fazer isso você pode baixar uma divisa ou seta da web. Eu fiz uma divisa no iDraw e depois exportei-a diretamente para o Images. xcassets do meu projeto Xcode. medium / ronm333 / improved-image-work-flow-idraw-to-xcode-connection-b2da9f8b47a Para desenhar uma divisa no iDraw: Desative o Stroke Defina o Fill como preto Desenhe em pequenos retângulos e posicione-os como mostrado abaixo: Selecione os dois retângulos e o menu Modificar União Escolher Modificar gt Girar e Transformar Transformar Gt Ter uma divisa no iDraw permite alterar facilmente sua cor e escala sempre que necessário. Para ver o exposto acima, em um simples Table View, você pode fazer o download de um projeto Xcode: github / ron333 / A-Simple-Table-View-Example A forma da chevron está disponível em images. xcassets.
Bursa e Piatta valutara n Forex esta em uma estratégia de dinamização de câmbio Forex, cuidado se transforma em ntr-populara suplício amp suplimentar. S de reciprocidade, com o apoio de uma equipe de ensino médio, em primeiro lugar de miliarde de dolari, a equipe de apoio a uma escola de ensino superior e externa pode realizar noi estrategia sunt n curs de dezvoltate, pote de cuidados fi ajuta cineva casti bani de pe aceast pia mare. S aruncm o privire la, printre cele mai bune estratega Forex acolo i cum putei beneficia cu uurin de la ei Pe Forex escalpelamento - linie scalping n valut, ca titlul acestui text implic, este cu siguranta una dintre cele mai bune abordri putei lua pentru a Forex tranzacionare. Escalpelamento é uma estratégia de cuidado, cuidado e simplificação de estudos, que pode ser eficientemente atunci cnd ntr-adevr de tranzacionare. Uma fonte de lucro especulativo pode ser melhorada em termos de plataformas, plataformas, plataformas, plataformas, plataformas, platafo...
Комментарии
Отправить комментарий