2012-02-08 72 views
1

嘗試將UILabel放置在某些文本的上方,但元素彼此「步進」。我用x,y,h,w定位了他們,這樣他們就不應該這樣做,但是唉,他們是。你可以在屏幕截圖中看到標籤文本「鮑魚」和文本混合在一起。我需要在這裏做什麼改變?我已經試圖改變X,Y,W,H值影響不大...在UITextView中定位UILabel

enter image description here

txtView = [[UITextView alloc] initWithFrame:CGRectMake(10,20,280,300)]; 
[txtView setFont:[UIFont fontWithName:@"ArialMT" size:14]]; 
txtView.text = word.definition; 
txtView.editable = NO; 
txtView.scrollEnabled = YES; 
[txtView scrollRangeToVisible:NSMakeRange([txtView.text length], 0)]; 
txtView.minimumZoomScale = 1; 
txtView.maximumZoomScale = 10; 

UILabel *wordTitle = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 250, 20)]; 
wordTitle.text = word.term; 
[txtView addSubview:wordTitle]; 


[detailsViewController.view addSubview:txtView]; 

回答

3

我認爲這個問題是您要添加的標籤視圖作爲子視圖UITextview 。您必須爲UITextview中的標籤視圖預留一些空間。您可以向textView添加一些填充,這可能會造成混淆,因爲UITextView中的填充不是固定的,而是因字體大小而異。或者,您可以將UILabel直接添加到detailsViewController.view,並在標籤下面開始UITextView

希望它有幫助。

+0

你是對的。這工作。 [detailsViewController.view addSubview:wordTitle]; [detailsViewController.view addSubview:txtView];謝謝! – Slinky 2012-02-08 17:59:09

+0

你也可以考慮這種方法:創建一個自定義UIView類,並定位UILabel和UITextView,然後將UIView作爲子視圖添加到detailViewController。然後您可以選擇在您的UIView自定義類中設置label.text和textview.text。很高興,它的工作。 – Canopus 2012-02-08 18:02:03

相關問題