簡體   English   中英

iPhone-UIView方向更改

[英]iPhone - UIView orientation changes

我有一個UIView的子類,其中我使用drawInRect:withFont:lineBreakMode:alignment:方法繪制了一個NSString對象。

不幸的是,當我更改設備的方向(例如,從縱向更改為橫向模式)時,文本無法正確重繪,但會縮放並扭曲,與我的意圖無關。

我怎么解決這個問題?

這是Core Animation動畫過渡效果的一部分。 拍攝視圖快照,然后將其拉伸/移動到新位置。

您可以通過多種方式解決此問題。 首先,您可以嘗試以下操作:

self.contentMode = UIViewContentModeRedraw;

這可能就是您所需要的,並且會告訴Core Animation重新繪制內容而不是使用快照。 如果仍然有問題,可以嘗試定義一個“可拉伸”區域,該區域被拉伸而不是文本。

例如,如果您知道視圖的垂直切片沒有任何文本,則可以將內容拉伸定義在該小部分中,並且僅在其中進行任何拉伸,希望可以保持文本完整。

CGFloat stretchStartX = 25.0f;
CGFloat stretchEndX = 30.0f;

/* Content stretch values are from 0.0-1.0, as a percentage of the view bounds */
self.contentStretch = CGRectMake(stretchStartX / self.bounds.size.width,
                                 0.0f,
                                 stretchEndX / self.bounds.size.width,
                                 1.0f);

這將導致您的視圖僅在x值25和30之間拉伸。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM