2014-04-17 1 views
0

Rubymotion으로 작성된 응용 프로그램이 있습니다. 보기의 하위보기에 레이블을 추가하려고합니다. 처음 메서드를 호출 할 때 같은 위치에 새 텍스트를 쓸 수 있도록 모든 UILabel의 양식을 제거하려고합니다. 슈퍼 뷰에서 UILabel 제거

class CalorieIntakeController < UIViewController 
    @label = UILabel.new 

    @label.frame = [[0,270],[self.view.frame.size.width, 50]] 
    @label.text = "Text goes here" 
    self.view.addSubview(@label) 
end 

나는 이미 UILabel의 존재가 있는지 찾기 위해 루비를 사용하는 방법을 알아 내려고 노력하고있다.

답변

0

레이블의 텍스트를 지우거나보기를 추가하거나 제거하는 대신 숨기거나 표시 할 수 있다고 생각합니다.

1

많은 것을 할 예정이라면 RMQ을 조사하고 싶을 것입니다. 코드가 훨씬 간단합니다. 예 :

view.parent.find(UILabel).attr(text: '') # Sets all UILabels below parent to blank 

또는, 당신은 라벨 제거에 구부러진하는 경우 : 당신은 정말 그냥 선택기를 사용하는 첫 번째 장소에서 UILabel이 존재 여부를 알고 싶은 경우에

view.parent.find(UILabel).remove   # Removes all UILabels below parent 

를 : 아무도이없는 경우

view.parent.find(UILabel).length 

그렇지 않으면 부모 뷰에서 라벨의 수있을 것이다, 제로 올 것이다.

이 질문에 대한 정확한 대답은 아니지만 설명하는 작업을 수행하기위한 다른 방법입니다. 스타일 시트를 사용하면 컨트롤러 코드에서 여러 가지 설치 프로그램을 지우고 스타일에 넣을 수 있습니다. 그런 다음 다양한 UI 요소를 숨기거나 표시하거나 삽입하거나 제거하면됩니다.

관련 문제