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 leftViewde texto e a algum texto e, quando isso é feito, viewDidLoados 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

borderStylecomo qualquer coisa, exceto arredondado. Use Editor -> Size to Fit Contentpara fazer o layout funcionar. Use o inspetor de propriedades no seu UITextFieldpara verificar sua altura. Use isso para configurar sua restrição de altura e agora você pode alterar a borderStylevolta 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 UITextfieldfonte 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
}
}
}
UITextFieldpor 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 UITextFieldque 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 UITextViewsubstituir 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>];