2011-10-05 1 views
18

에서 레이블을 얻을. 이를 수행하는 올바른 방법은 무엇입니까?IOS 내가 노력 그래서 자기에서 라벨의 속성을 얻으려면 태그 번호

+0

태그를 어떻게 설정 했습니까? 태그'1'을 사용하여'self'의 서브 뷰 (또는 트리에서 더 아래로) 인 유일한보기에 레이블을 지정 했습니까? –

+0

태그를 [label setTag : 1]과 같이 설정했습니다. 다른 함수에서. 레이블은 상단 서브 뷰에 없지만 상단 뷰에 있습니다. –

+0

원하는 레이블을 얻으려면'self subviews'를 열거해야합니다. 귀하의 시도는 효과가 없을 것입니다. –

답변

36

그래서 내가 잘못한 것을 알았습니다. 분명히

UILabel *label = (UILabel *)[self viewWithTag:1]; 

은 태그 1로 내 레이블의 인스턴스에 대한 포인터를 만듭니다. 실제로 작동합니다. 작동하지 않는 이유와 내가 문제가 발생한 이유는 레이블을 공개하려고했기 때문입니다. 레이블을 해제하는 것은 [self viewWithTag : 1]의 릴리스와 동일합니다. 스위프트 3

0

, 내가보기 컨트롤러에서 오전 때, 난 태그로보기를 검색하기 위해이 코드를 호출 할 필요가 :

self.mInstructionView = self.view.viewWithTag(1) 
2

태그로의 UIViewController에 UILabel의를 얻기를위한 목표 C합니다. 여기 UILabelself.view에 추가로 내가 그렇지 않으면 당신은 당신이 UITableView

UILabel *label = (UILabel *)[cell viewWithTag:1]; 

셀에 [yourview viewWithTag:1];

UILabel *label = (UILabel *)[self.view viewWithTag:1]; 

UILabel 추가보기를 전달할 수 있습니다, 가정을

UITableViewCell의 목적은 예 :

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"]; 

let cell:UITableViewCell = self.tableView.dequeueReusableCell(withIdentifier: "Cell") as UITableViewCell! 

let label:UILabel = cell.viewWithTag(1) as! UILabel 

참고 UITableView에서 스위프트 3

let label:UILabel = self.view.viewWithTag(1) as! UILabel 

에서 : 태그 (viewWithTag)를 사용하기 전에 다른 응용 프로그램이 충돌, 즉 태그 번호와 객체 (UILabel의)이 있어야한다 .

사용자는 스토리 보드 또는 XIB를 통해 프로그래밍 방식으로 태그를 설정할 수 있습니다.

+0

스위프트 3의 답을 알려 주셔서 감사합니다. –

관련 문제