Criei um UITableView
no Interface Builder usando storyboards
. O UITableView
é configurado com static cells
uma série de seções diferentes.
O problema que estou tendo é que estou tentando configurar meu aplicativo em vários idiomas diferentes. Para fazer isso, preciso ser capaz de alterar os UITableView
títulos das seções de alguma forma.
Por favor, alguém pode me ajudar? Idealmente, gostaria de abordar o problema usando, IBOutlets
porém, suspeito que isso nem seja possível neste caso. Quaisquer conselhos e sugestões seriam muito apreciados.
Desde já, obrigado.
iphone
ipad
uitableview
uistoryboard
iboutlet
O chimpanzé louco
fonte
fonte
numberOfSectionsInTableView:tableView:
para que seja chamado.numberOfSectionsInTableView:tableView:
implementado em IB para células estáticas.numberOfSectionsInTableView:
, o método do título será chamado e substituirá o storyboard. Como esta é uma tableview estática, não há problema em substituí-la por um método que retorna um número constante @wcochranSe você estiver escrevendo código em Swift, seria um exemplo como este
fonte
Use o método UITableViewDataSource
fonte
titleForHeaderInSection é um método delegado de UITableView para aplicar o texto do cabeçalho da seção de gravação da seguinte maneira,
fonte
Observe que
-(NSString *)tableView: titleForHeaderInSection:
não é chamado por UITableView se- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
for implementado no delegado de UITableView;fonte
o texto do rótulo da seção está definido.
fonte
(original)
Eu tinha um requisito semelhante. Eu tinha uma tabela estática com células estáticas em meu Main.storyboard (Base). Para localizar títulos de seção usando arquivos .string, por exemplo, Main.strings (alemão), basta selecionar a seção no storyboard e observar o ID do objeto
Em seguida, vá para o seu arquivo de string, no meu caso Main.strings (alemão) e insira a tradução como:
Recursos adicionais:
fonte
Não sei sobre as versões anteriores dos
UITableView
protocolos, mas a partir do iOS 9,func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String?
faz parte doUITableViewDataSource
protocolo.Você não precisa declarar o
delegate
para preencher sua tabela com dados.fonte