0

UINavigationbar에 대한 사용자 지정 뒤로 단추를 만들려고합니다.UIImage로 사용할 UI 뷰에서 CG 그리기가 필요합니까?

나는 backButtonBackgroundImageForState:barMetrics:을 사용하여 이미지를 설정할 수 있음을 알고 있습니다.

내 문제는 내가 이미지 파일을 사용해야한다는 것입니다. 차라리 코드에서 뒤로 단추를 그립니다.

내 질문은 내가 UIView의 서브 클래스 수 있습니다되면, drawrec를 오버라이드 (override) : 백 버튼을 그릴 후 사용하는 UIView의 backButtonBackgroundImageForState:barMetrics의 이미지로 :

나는 그것이 같은 갈 것이라고 생각 해요 :

UIImage * backButtonImage = // somehow get image from my subclassed UIView; 

backButtonImage = [backButtonImage stretchableImageWithLeftCapWidth: 15.0 topCapHeight: 30.0]; 

[[UIBarButtonItem appearance] setBackButtonBackgroundImage: backButtonImage forState: UIControlStateNormal barMetrics: UIBarMetricsDefault]; 

이 문제를 해결하는 가장 좋은 방법이 있습니까? 아니면 그냥 빨아 포토샵에서 이미지를 만들어야하나요?

답변

0

당신은 UIViewdrawRect: 최우선의 서브 클래스를하지 않고, UIGraphicsBeginImageContextWithOptions를 사용하여 비트 맵 이미지 컨텍스트를 생성 할 수 있습니다.

UIGraphicsBeginImageContextWithOptions(CGSizeMake(80, 30), NO, 0); 
// drawing code here 
// Use UIKit functions and objects 
// or use CoreGraphics functions on UIGraphicsGetCurrentContext() 
UIImage *image = UIGraphicsGetImageFromCurrentContext(); 
UIGraphicsEndImageContext(); 
+0

나는 <3. srsly. – random