Eu estou usando um UITextField
. Quero aumentar sua altura, mas não encontrei nenhuma propriedade para fazer isso. Como posso conseguir isso?
Eu estou usando um UITextField
. Quero aumentar sua altura, mas não encontrei nenhuma propriedade para fazer isso. Como posso conseguir isso?
Respostas:
CGRect frameRect = textField.frame;
frameRect.size.height = 100; // <-- Specify the height you want here.
textField.frame = frameRect;
Você não pode alterar a altura do estilo da borda retângulo arredondado. Para definir a altura, basta escolher qualquer estilo de borda diferente da borda arredondada no Xcode:
Finalmente encontrei a correção para isso!
Como descobrimos, o IB não nos permite alterar a altura do estilo da borda do canto arredondado. Então mude para qualquer um dos outros estilos e defina a altura desejada. No código, altere o estilo da borda de volta.
textField.borderStyle = UITextBorderStyleRoundedRect;
viewWillLayoutSubviews
. Adicionei uma imagem ao campo leftView
de texto e a algum texto e, quando isso é feito, viewDidLoad
os dois se esticam estranhamente.
textField.borderStyle = .RoundedRect
Se você estiver usando o Layout automático, poderá fazê-lo no Storyboard.
Adicione uma restrição de altura ao campo de texto e altere a constante da restrição de altura para qualquer valor desejado. Os passos são mostrados abaixo:
Etapa 1: criar uma restrição de altura para o campo de texto
Etapa 2: Selecionar restrição de altura
Etapa 3: Alterar o valor constante da restrição de altura
borderStyle
como qualquer coisa, exceto arredondado. Use Editor -> Size to Fit Content
para fazer o layout funcionar. Use o inspetor de propriedades no seu UITextField
para verificar sua altura. Use isso para configurar sua restrição de altura e agora você pode alterar a borderStyle
volta para a arredondada.
1.) Altere o estilo da borda no InterfaceBuilder.
2.) Depois disso, você poderá alterar o tamanho.
3.) Crie um IBOutlet para o seu TextField e digite o código a seguir viewDidLoad()
para alterar o BorderStyle de volta.
textField.borderStyle = UITextBorderStyleRoundedRect;
Swift 3:
textField.borderStyle = UITextBorderStyle.roundedRect
Em sua opinião, o AppApp irá definir os cantos como redondos
yourUITextField.borderStyle = UITextBorderStyleRoundedRect;
Siga estes dois passos simples e obtenha um aumento de altura do seu UItextField
.
Etapa 1: clique com o botão direito do mouse no arquivo XIB e abra-o como em "Código-fonte".
Etapa 2: encontre a mesma UITextfield
fonte e defina o quadro desejado.
Você pode seguir estas etapas para alterar o quadro de qualquer controle da apple.
Uma atualização para o iOS 6: usando o layout automático, mesmo que você ainda não possa definir a altura do UITextField no Size Inspector no Interface Builder (a partir do Xcode 4.5 DP4), agora é possível definir uma restrição de Altura no , que você pode editar no Interface Builder.
Além disso, se você estiver definindo a altura do quadro por código, o layout automático poderá redefini-lo, dependendo das outras restrições que sua exibição possa ter.
Eu sei que essa é uma pergunta antiga, mas eu gostaria de adicionar se você deseja alterar facilmente a altura de um UITextField do IB, basta alterar o tipo de borda do UITextfield para algo diferente do tipo de canto arredondado padrão. Em seguida, você pode esticar ou alterar os atributos de altura facilmente de dentro do editor.
@IBDesignable
class BigTextField: UITextField {
override func didMoveToWindow() {
super.didMoveToWindow()
if window != nil {
borderStyle = .roundedRect
}
}
}
UITextField
por BigTextField
.Border Style
para none
.Minha contribuição patética para esse problema idiota. No IB, defina o estilo como none, para que você possa definir a altura; em IB, defina a classe como uma subclasse UITextField
que força o estilo a ser arredondado como ret.
@interface JLTForcedRoundedRectTextField : UITextField
@end
@implementation JLTForcedRoundedRectTextField
- (void)awakeFromNib
{
self.borderStyle = UITextBorderStyleRoundedRect;
}
@end
Isso me impediu de ter que invadir o arquivo XIB ou escrever o código de estilo no meu controlador de exibição.
A altura de um UITextField não é ajustável no Attributes Inspector apenas quando ele possui o estilo de borda de cantos arredondados padrão, mas adiciona uma restrição de altura (mais quaisquer outras restrições necessárias para satisfazer o sistema de execução automática - geralmente usando Add Missing Constraints) e o ajuste da restrição ajustará a altura do campo de texto. Se você não deseja restrições, as restrições podem ser removidas (Limpar restrições) e o campo de texto permanecerá na altura ajustada.
Funciona como um encanto.
UITextField *txt = [[UITextField alloc] initWithFrame:CGRectMake(100, 100, 100, 100)];
[txt setText:@"Ananth"];
[self.view addSubview:txt];
Os últimos dois argumentos são largura e altura. Você pode definir como quiser ...
Você pode usar a propriedade frame do campo de texto para alterar o quadro Like-Textfield.frame = CGRECTMake (eixo x, eixo y, largura, altura)
Isto é bem simples.
yourtextfield.frame = CGRectMake (yourXAxis, yourYAxis, yourWidth, yourHeight);
Declare seu campo de texto como uma propriedade gloabal e altere seu quadro sempre que desejar fazê-lo em seu código.
Feliz codificação!
Se você estiver criando muito UITextFields
, pode ser mais rápido subclass se UITextView
substituir o método setFrame por
-(void)setFrame:(CGRect)frame{
[self setBorderStyle:UITextBorderStyleRoundedRect];
[super setFrame:frame];
[self setBorderStyle:UITextBorderStyleNone];
}
Dessa forma, você pode simplesmente ligar
[customTextField setFrame:<rect>];