2015-01-20 2 views
-1

그래서 나는 주위를 둘러 보았고 다른 코드를 시도해 왔으며 내가 원하는 것을 실제로 얻을 수 없습니다. 나는 여기서 내가 추구하는 것을 발견하기를 희망한다.숫자 패드의 단추에 테두리 추가 및 빈 공간에 + 기호 추가

사용자 정의 숫자 패드를 만들려고합니다. 이것은 내가 원하는 결과입니다

enter image description here

그러나 이것은 내가 얻을로 가까운 거리에 있습니다.

enter image description here

첫 번째 문제는 내가 적용하고 국경이 버튼을 취소 얻을하지 못할 것입니다. 내가 어떻게 고칠 수 있니?

두 번째 문제는 내 번호 패드에도 + * # 버튼을 추가하려는 것입니다. 어떻게 지구상에서 그 일을 할 수 있습니까?

self.numberToolbar = [[UIToolbar alloc]initWithFrame:CGRectMake(0, 0, 320, 50)]; 
self.numberToolbar.barStyle = UIBarStyleBlackTranslucent; 
self.numberToolbar.items = [NSArray arrayWithObjects: 
          [[UIBarButtonItem alloc]initWithTitle:@"Cancel" style:UIBarButtonItemStylePlain target:self action:@selector(cancelNumberPad)], 
          [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil], 
          [[UIBarButtonItem alloc]initWithTitle:@"Apply" style:UIBarButtonItemStyleDone target:self action:@selector(doneWithNumberPad)], 
          nil]; 
[self.numberToolbar sizeToFit]; 

self.driverNumber.inputAccessoryView = self.numberToolbar; 
+0

제목/이미지가''* * # "'인 버튼은 어떻습니까? – matt

+0

첫 번째 사진은 이전 iOS 6 이전의 모양과 느낌입니다. 하단 그림은 새로운 iOS 7 이상의 모양과 느낌입니다. 버튼에는 더 이상 테두리가 없습니다. – rmaddy

+2

숫자 패드 키보드 대신 전화 유형 키보드를 사용하십시오. – rmaddy

답변

1

첫 번째 문제는 내가이 적용 및 테두리를 가지고 취소 버튼을 취득하지 못할 것입니다 :

는 작업 코드 메신저입니다. 내가 어떻게 고칠 수 있니?

들으 셨겠지만 버튼에는 테두리가 없습니다. 그래서 "고칠"것이 없습니다. 테두리를 고집하는 경우 테두리의 모양을 나타내는 방식으로 단추의 배경 이미지를 직접 그려야합니다. 다음은 하나의 앱에서 사용하는 코드입니다.

b.setBackgroundImage(imageOfSize(CGSizeMake(15,15)) { 
    let grad = CAGradientLayer() 
    grad.frame = CGRectMake(0,0,15,15) 
    grad.colors = [ 
     UIColor(red: 1, green: 1, blue: 0, alpha: 0.8).CGColor, 
     UIColor(red: 0.7, green: 0.7, blue: 0.3, alpha: 0.8).CGColor] 
    let p = UIBezierPath(
     roundedRect: CGRectMake(0,0,15,15), cornerRadius: 8) 
    p.addClip() 
    grad.renderInContext(UIGraphicsGetCurrentContext()) 
    UIColor.blackColor().setStroke() 
    p.lineWidth = 2 
    p.stroke() 
}.resizableImageWithCapInsets(
    UIEdgeInsetsMake(7,7,7,7), resizingMode: .Stretch), 
    forState: .Normal) 
+0

두 가지 무관 한 질문이있는 경우 (두 가지 질문을 별도로 질문하십시오. – matt

+0

Thnx, 다음 번에도 계속 사용하도록하겠습니다. –

0

iOS 7에서 기본 UIButton은 배경이 투명하고 테두리가 없습니다. iOS7 +에서 iOS 6과 같은 모서리와 배경을 사용자 정의 단추로 사용하려면,

UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 

이제 원하는 경우 배경, 테두리 및 모서리 반경을 설정할 수 있습니다.

button.layer.cornerRadius = 2.0f; 
button.layer.borderWidth = 1.0f; 
button.layer.borderColor = [UIColor whiteColor].CGColor; 
button.backgroundColor = [UIColor blueColor]; 
button.clipsToBounds = YES;