2014-07-10 1 views
1

내 앱의 어느 시점에서 사용자는 이유 목록 (다른 사용자가 하나 이상의 사진을 통해 환자에게 올바른 약과 복용량을 제공하는지 확인하는 의료 앱) 중에서 선택해야합니다. 사진이 거부되면 사용자는 이유를 선택해야합니다.UIAlertView의 버튼에 여러 줄의 텍스트를 사용할 수 있습니까?

고객의 한 명의 이유를 나열했으며 변경할 수 없습니다. 문제는 이러한 이유 중 하나가 매우 긴 문장이고 alertview에 추가 할 때 텍스트가 줄 바꿈을하기보다 실제로 작아진다는 것입니다. 내 문자열에 \n을 넣으려고했으나 두 번째 줄이 표시되지 않았습니다 (작동하지만보기의 첫 번째 줄만 표시).

alertview의 버튼에 여러 줄 기능을 추가 할 수 있습니까? UIButton은 여러 줄을 지원하지 않습니다. iOS7부터는 UIAlertViewaddSubView:이 더 이상 작동하지 않습니다. 차라리 제 3 자 라이브러리를 사용하지는 않겠지 만, 정말로 제안을해야합니다. alertview의 크기를 늘리는 것도 옵션 일 것입니다.

+0

내 대답을 시도 ... http://stackoverflow.com/questions/19789938/how-to-do-a-semi-transparent-modal-segue-like-whatsapp-take-photo-choose -e/19790050 # 19790050 – Raon

+0

_ "UIButton은 다중 행을 지원하지 않습니다."_, 사실이 아니기 때문에, UIButton 인스턴스에 여러 줄 텍스트를 설정할 수 있습니다. – holex

답변

1

UIAlertView 및 UIActionSheet는 실제로 간결한 피드백을 제공하고 간결한 결정을 내리는 데 의미가 있습니다. 사용자가 선택할 수있는 더 풍부한 인터페이스가 필요한 것 같습니다. 일련의 이유를 제시하고 이유를 선택할 수있는 동적 셀을 사용하여 사용자 지정 UITableViewController 클래스를 만드는 것이 좋습니다. 다중 행 이유를 표시하기 위해 편집 할 수없는 UITextView를 동적으로 만들 수 있으며 선택 이유 옆에 단추를 배치 할 수 있습니다. UITableView의 각 행에는 선택할 UIButton과 이유를 표시하는 UITextView가 포함됩니다. UIableViewController 클래스에서 컨텍스트와 관련된 모든 이유를 조합 한 다음 선택 가능한 테이블 뷰 (각 가능한 응답에 대해 하나의 행)에 표시합니다. 또는 버튼을 무시하고 UITextView를 통해 이유를 제시 할 수 있습니다. 사용자가 행 (테이블 셀)을 클릭하면 당신은 체크 표시

cell.accessoryType = UITableViewCellAccessoryCheckmark; 

와 응답을 표시하고

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    Reason *selectedReason = self.myReasonsArray[indexPath.row]; 
} 

enter image description here

enter link description here

에서 처리를 위해 선택을 캡처 할 수 있습니다

또한 UIAlertViews는 서브 클래 싱을 지원하지 않으며 매우 제한적인 구성 기능을 가지고 있습니다. 필자는 UITableViewController를 통해 "사용자 정의"모달 뷰를 작성하여 객관적인 목표를 달성 할 것을 제안합니다. UITableViewController는 본질적으로 멀티 라인 텍스트, 이미지 등 모든 종류의 작업을 수행 할 수있는 풍부한 인터페이스를 팝업하는 데 사용할 수 있습니다. 위임을 통해 모든 곳에서이보기를 재사용 할 수 있습니다.

+0

우수 제안, 그러나 현재 사용자 지정 'alertview'작업 중입니다. 나중에 추가 기능을 사용할 수 있어야합니다. – Kevin

+0

그렇긴하지만 많은 콘텐츠가 포함 된 경고보기를로드해서는 안됩니다 (실제로 문제가있는 이유를 위해 설계되지 않았습니다). 위의 편집을 참조하십시오. – Wizkid

3

여러 줄을 사용할 수있는 UIActionSheet 또는 Customized PopUp View를 사용하는 것이 더 좋습니다.

+0

그런 말을 들어 본 적이 없지만, 나는 여전히 iOS 전체에 대해 아주 새로운 것입니다. 고마워. 고마워. – Kevin

+0

[Popup View] (http://code4app.net/category/popupview) 이것은 내가 추측하는 데 도움이 될 것입니다. – satishiOS25

+0

흠, 작업 표시 줄에 alertview를 변경했지만 단추에는 여전히 텍스트 한 줄만 있습니다. 추가 할 필요가있는 것은 무엇입니까? – Kevin

관련 문제