요구 사항 중에 ActionSheet의 삭제 버튼을 빨간색 버튼으로 변경해 달라는 요청이 들어왔다.
처음에는 버튼의 스타일을 바꾸면 되겠지라는 생각으로 버튼 스타일을 바꾸었으나 영 이상한 모양으로 나왔다
(배경색을 바꾸니 정말 사각형으로 빨간색이 되어버렸다)
그래서 헤더 값을 찾아본 결과 눈에 띄는 프로퍼티를 찾았다.
@property(nonatomic) NSInteger destructiveButtonIndex; // sets destructive (red) button. -1 means none set. default is -1. ignored if only one button
설명 중에 red 버튼이라는 말만 보고 한번 인덱스 값을 입력해보았다.
actionSheet.destructiveButtonIndex = 0; // 삭제 버튼은 0번 인덱스이다.
역시 생각대로 빨간 버튼이 출력되었다
그리고 추가로 버튼에 대한 스타일을 변경하는 소스도 올린다.
- (void)willPresentActionSheet:(UIActionSheet *)actionSheet // before animation and showing view
{
if(actionSheet.tag == /* 액션 시트를 구분하기 위한 태그 값*/ ){
for (UIView* view in [actionSheet subviews]) {
if ([view isKindOfClass:NSClassFromString(@"UIAlertButton")] == NO) {
continue;
}
if ([view respondsToSelector:@selector(title)] == NO) {
continue;
}
NSString * title = [view performSelector:@selector(title)];
/// 원하는 버튼을 찾기 위하여 버튼의 텍스트 값을 비교하여 찾아낸다.
if ([title isEqualToString:@"?????"] && [view respondsToSelector:@selector(setEnabled:)])
{
// 버튼의 스타일을 지정한다.
[(UIButton *)view setBackgroundImage:[UIImage imageNamed:@"bg_effect_title.png"] forState:UIControlStateNormal];
}
}
}*/
}
'iOS' 카테고리의 다른 글
UITableViewCell Custom 오른쪽 화살표 버튼 이미지 (0) | 2011.12.27 |
---|---|
유용한 오픈소스 링크 (0) | 2011.12.21 |
UIView 캡쳐하기 (0) | 2011.11.15 |
메모리경고 발생시 (didReceiveMemoryWarning) Modal 창의 Parent 뷰 다운 현상 방지 (0) | 2011.11.02 |
UIView 와 Category의 만남 (0) | 2011.10.26 |