답변:
#import <QuartzCore/QuartzCore.h>
....
// typically inside of the -(void) viewDidLoad method
self.yourUITextView.layer.borderWidth = 5.0f;
self.yourUITextView.layer.borderColor = [[UIColor grayColor] CGColor];
self.myView.layer.borderWidth ...
하지만, 내가 말했듯이, 층은 읽기 전용, 레이어 설정에 대한 방법이나 변수 필요가 없습니다
둥근 모서리에 다음을 추가합니다.
self.yourUITextview.layer.cornerRadius = 8;
다음 TextView
은 "tbComments"라는 컨트롤 주위에 테두리를 추가하기 위해 사용한 코드입니다 .
self.tbComments.layer.borderColor = [[UIColor grayColor] CGColor];
self.tbComments.layer.borderWidth = 1.0;
self.tbComments.layer.cornerRadius = 8;
다음은 다음과 같습니다.
쉬워요.
UIImageView
의 하위보기로 추가 합니다 UITextView
. 이것은 UITextField
위에서 아래로 그라디언트를 포함하여 의 기본 테두리와 일치합니다 .
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];
다음은 내가 사용하는 png 이미지와 jpg 표현입니다.
code
resizableImageWithCapInsets을 : UIEdgeInsetsMake (28, 14, 28, 14)
좋은 작품,하지만 색상이해야 CGColor
하지 UIColor
:
view.layer.borderWidth = 5.0f;
view.layer.borderColor = [[UIColor grayColor] CGColor];
위의 답변은 이전 버전의 Swift에 대한 것입니다. 나는 약간 구글 검색을했고 아래 코드는 Swift 4에서 작동합니다.
self.textViewName.layer.borderColor = UIColor.lightGray.cgColor
self.textViewName.layer.borderWidth = 1.0
self.textViewName.layer.cornerRadius = 8
행복한 코딩!
self.textViewName.layer.borderColor = UIColor.systemGray4.cgColor
Swift Programming의 경우 이것을 사용하십시오.
tv_comment.layer.borderWidth = 2
tv_comment.layer.borderColor = UIColor(red: 0.2, green: 0.2, blue: 0.2, alpha: 1).CGColor
UIColor(white: 0.2, alpha: 1).CGColor
이것은 원래 UITextField에서 최대한 가깝습니다.
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
}
iOS 8 및 Xcode 6에서 이제 가장 좋은 해결책은 UITextView를 하위 클래스로 만들고 하위 클래스를 IB_DESIGNABLE로 표시하여 스토리 보드에서 테두리를 볼 수 있도록하는 것입니다.
헤더:
#import <UIKit/UIKit.h>
IB_DESIGNABLE
@interface BorderTextView : UITextView
@end
이행:
#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
그런 다음 스토리 보드에서 UITextView를 드래그하고 해당 클래스를 BorderTextView로 설정합니다.
나는 완전히 비활성화 된 것을 UIButton
뒤에 UITextView
놓고 UITextView
clearColor의 배경색을 만들어 스토리 보드 에서이 문제를 해결했습니다 . 이것은 추가 코드 나 패키지없이 작동합니다.