framework ios quartz-core

framework - ios reference



Confinado UITextView (12)

A partir de iOS 8 y Xcode 6, ahora encuentro que la mejor solución es subclasificar UITextView y marcar la subclase como IB_DESIGNABLE, que le permitirá ver el borde en el guión gráfico.

Encabezamiento:

#import <UIKit/UIKit.h> IB_DESIGNABLE @interface BorderTextView : UITextView @end

Implementación:

#import "BorderTextView.h" @implementation BorderTextView - (void)drawRect:(CGRect)rect { self.layer.borderWidth = 1.0; self.layer.borderColor = [UIColor blackColor].CGColor; self.layer.cornerRadius = 5.0f; } @end

A continuación, simplemente arrastre su UITextView en el guión gráfico y establezca su clase en BorderTextView

Quiero tener un borde gris fino alrededor de una UITextView . Revisé la documentación de Apple pero no pude encontrar ninguna propiedad allí. Por favor ayuda.


Agrego UIImageView como una subvista de UITextView . Esto coincide con el borde nativo en un UITextField , incluido el degradado de arriba a abajo:

textView.backgroundColor = [UIColor clearColor]; UIImageView *borderView = [[UIImageView alloc] initWithFrame: CGRectMake(0, 0, textView.frame.size.width, textView.frame.size.height)]; borderView.autoresizingMask = UIViewAutoresizingFlexibleHeight | UIViewAutoresizingFlexibleWidth; UIImage *textFieldImage = [[UIImage imageNamed:@"TextField.png"] resizableImageWithCapInsets:UIEdgeInsetsMake(15, 8, 15, 8)]; borderView.image = textFieldImage; [textField addSubview: borderView]; [textField sendSubviewToBack: borderView];

Estas son las imágenes png que uso, y una representación jpg:

@1x

@2x


Agregue lo siguiente para las esquinas redondeadas:

self.yourUITextview.layer.cornerRadius = 8;


En Swift 3, puede usar las siguientes dos líneas:

myText.layer.borderColor = UIColor.lightGray.cgColor myText.layer.borderWidth = 1.0


Este es el código que utilicé para agregar un borde alrededor de mi control TextView llamado "tbComments":

self.tbComments.layer.borderColor = [[UIColor grayColor] CGColor]; self.tbComments.layer.borderWidth = 1.0; self.tbComments.layer.cornerRadius = 8;

Y esto es lo que parece:

Pan comido.


Funciona muy bien, pero el color debe ser un CGColor , no UIColor :

view.layer.borderWidth = 5.0f; view.layer.borderColor = [[UIColor grayColor] CGColor];


Lo que lo hizo funcionar (además de seguir las respuestas aquí) es agregar el atributo borderStyle :

#import <QuartzCore/QuartzCore.h> .. phoneTextField.layer.borderWidth = 1.0f; phoneTextField.layer.borderColor = [[UIColor blueColor] CGColor]; phoneTextField.borderStyle = UITextBorderStyleNone;


Solo una pequeña adición. Si hace que el borde sea un poco más ancho, interferirá con el lado izquierdo y derecho del texto. Para evitar eso, agregué la siguiente línea:

self.someTextView.textContainerInset = UIEdgeInsetsMake(8.0, 8.0, 8.0, 8.0);


esto es lo más cerca que pude de un UITextField original

func updateBodyTextViewUI() { let borderColor = UIColor.init(red: 212/255, green: 212/255, blue: 212/255, alpha: 0.5) self.bodyTextView.layer.borderColor = borderColor.CGColor self.bodyTextView.layer.borderWidth = 0.8 self.bodyTextView.layer.cornerRadius = 5 }


para Swift Programming, usa esto

tv_comment.layer.borderWidth = 2 tv_comment.layer.borderColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1).CGColor


UIButton este problema en el guión gráfico al colocar un UIButton completamente deshabilitado detrás de UITextView y crear el color de fondo de UITextView clearColor. Esto funciona sin requerir códigos o paquetes adicionales.


#import <QuartzCore/QuartzCore.h> .... // typically inside of the -(void) viewDidLoad method self.yourUITextView.layer.borderWidth = 5.0f; self.yourUITextView.layer.borderColor = [[UIColor grayColor] CGColor];