Il layout automatico ritaglia in modo casuale il testo nel mio UITextView. Cambia la dimensione di UITextContainerView quando si ruota avanti e indietro da orizzontale a verticale. Funzionerà correttamente diverse volte ma cambierà casualmente il contenitore e ritaglierà il testo statico.La vista UItext viene ritagliata in modo casuale quando si utilizza l'Autolayout o il preferito StyleForTextStyle
Se disattivo Autolayout, il problema scompare. Si abbassa anche se si elimina il codice preferito di FontForTextStyle e si mantiene l'Autolayout.
Il fatto è che volevo consentire all'utente di impostare la dimensione del testo e poter utilizzare il layout automatico. Il testo è tutto statico quindi questa dovrebbe essere una cosa semplice.
Qualcuno ha visto questo? Si tratta di un bug o di qualcosa di sbagliato?
Ho ridotto il codice al minimo possibile per provare a isolare il problema.
Ecco il codice
// 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];
}
Ecco il contenitore quando la vista si presenta come dovrebbe Good Container
Ecco il contenitore quando illa vista viene ritagliata. Bad Container clipping my text
Controlla i tuoi vincoli di visualizzazione del testo. – Lumialxk
L'ho fatto. Non ci sono stati conflitti o avvertimenti. – user3259366
Sono presenti 4 vincoli. Spazio principale a: Superview = -7.0 Spazio inferiore a: Superview = 0 Allinea centro x a: Immagine 1 Spazio superiore a: Immagine 1 = predefinito. – user3259366