2016-01-25 9 views
6

自動レイアウトは、UITextViewのテキストをランダムにクリップします。 風景から肖像画に前後に回転するとき、UITextContainerViewのサイズを変更します。正しく動作しますが、コンテナをランダムに変更して静的テキストをクリップします。Autolayoutおよび/またはpreferredFontForTextStyleを使用すると、UItextビューがランダムにクリップされる

自動レイアウトを無効にすると、問題は解決しません。 preferredFontForTextStyleコードを削除して自動レイアウトを維持すると、縫い目がなくなります。

私は、ユーザーがテキストサイズを設定して自動レイアウトを使用できるようにしたいと思っています。テキストはすべて静的なので、これは簡単なことです。

誰でもこれを見ましたか? これはバグですか?何か間違っている必要がありますか?

私は問題を切り離して解決するためにできるだけ小さなコードに減らしました。ここで

はコード

// BugTest_ViewController.h 
 
// 
 
// 
 
// 
 
// 
 

 
#import <UIKit/UIKit.h> 
 

 
@interface BugTest_ViewController : UIViewController 
 

 

 

 
@property (weak, nonatomic) IBOutlet UIImageView *image1; 
 

 
@property (weak, nonatomic) IBOutlet UITextView *text1; 
 

 

 

 
@end

// BugTest_ViewController.m 
 
// 
 
// 
 
// 
 
// 
 

 
#import "BugTest_ViewController.h" 
 

 
@interface BugTest_ViewController() 
 

 

 
@end 
 

 
@implementation BugTest_ViewController 
 

 
- (void)viewDidLoad 
 
{ 
 
    [super viewDidLoad]; 
 
    // Do any additional setup after loading the view. 
 
    
 
} 
 

 
-(void)viewWillAppear:(BOOL)animated 
 
{ 
 

 
    self.text1.font = [UIFont preferredFontForTextStyle:UIFontTextStyleBody]; 
 
    [self.text1 setContentOffset:CGPointZero animated:YES]; 
 
    
 
}

はここでするとき、それはここで Good Container

がコンテナである必要があるとして、ビューが見えたときに、コンテナでありますビューがクリップされています。 Bad Container clipping my text

+0

テキストビューの制約を確認してください。 – Lumialxk

+0

しました。紛争や警告はありませんでした。 – user3259366

+0

4つの制約があります。スーパービュー= -7.0ボトムスペースへ:スーパービュー= 0センターxを次のように揃えます。画像1トップスペース:画像1 =デフォルト。 – user3259366

答えて

1

解決策はthis questionから私を助けます。私はこのようなものを書いています:

- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id<UIViewControllerTransitionCoordinator>)coordinator 
{ 
    _textView.scrollEnabled = NO; 
    [coordinator animateAlongsideTransition:nil completion:^(id<UIViewControllerTransitionCoordinatorContext> _Nonnull context) { 
     _textView.scrollEnabled = YES; 
    }]; 
} 
関連する問題