私はオブジェクティブ C プログラミングの初心者なので、この質問に些細な答えがあればすみません。画面サイズよりも大きい UIScrollview を作成したかったのです。そのメイン ビュー内にすべてのサブビューを適切に配置できるようにするために、この投稿で提案されているトリックを試しました。この大きな UIScrollView には、ToolbarView、UITextView、UIButtons、コンテナ ビューなど、いくつかのサブビューがあります。起動時にsetupView
、実際の画面サイズに基づいてテキストビューのフレーム サイズを更新し始めます。別の nib ファイルで問題なくこれを行うことができましたが、ストーリーボードでこれを試みると、奇妙なことが起こります: UITextView ( paperlist
) が初期化され、テキストがそれに設定されます。ただし、フレーム サイズを取得しようとすると、サイズCGRect
がゼロになります。
以下に、私が書いたコードのスニペットを示します。
- (void)viewWillAppear:(BOOL)animated
{
[super viewDidLoad];
[self setupView];
// Do any additional setup after loading the view.
}
#pragma mark update the view
- (void)setupView {
// first update the paperlist height in function of the screen size of the device used
CGFloat statusBarHeight = [[UIApplication sharedApplication] statusBarFrame].size.height;
CGRect newMainFrame = self.view.frame;
CGRect newPaperlistFrame = self.paperlist.frame;
newPaperlistFrame.size.height = [UIScreen mainScreen].bounds.size.height - KEYBOARD_LOWERBORDER - self.mainToolbar.bounds.size.height - statusBarHeight;
newMainFrame.size.height = self.mainToolbar.bounds.size.height + newPaperlistFrame.size.height + self.fullKeyboardView.frame.size.height;
self.view.frame = newMainFrame;
self.paperlist.frame = newPaperlistFrame;
}
誰か助けてくれませんか??
前もって感謝します!
ジュリアン