web-dev-qa-db-ja.com

UIPageControlを使用して、画面上のすべてのページインジケーターに合わせてドットサイズまたはパディングを縮小します

私は22ページのUIPageControlを持っているため、22ページのインジケータードットがあります。 iPhoneの横向きではすべて左右に十分なスペースがあって表示されますが、縦向きではすべてのドットを表示するのに十分な水平スペースがないため(少なくともiPhone 4と5では)、2つは表示されず、外側の2つは半分にカットされています。

すべてのドットが縦長で画面に収まるように、ドットのサイズを小さくする方法、またはドット間のパディングの量を減らす方法を探しています。どうすればそれを達成できますか?

enter image description here

15
Jordan H

ドットがたくさんある場合は、別のコントロールを真剣に検討します。しかし、UIPageControlに固執したい場合は、次のように画面に収まるように縮小します。

pageControl.transform = CGAffineTransformMakeScale(0.7, 0.7);

これにより、初期サイズの70%に縮小されます。画面サイズ/ページ数に最適なスケールを決定するのは、お客様にお任せします。

49
pbasdf

Swift 3バージョンコード: pbasdfの回答に基づいています。

pageControl.transform = CGAffineTransform(scaleX: 0.7, y: 0.7)
5
mriaz0011

22ページあるものにはUIPageControlを使用しないでください。代わりに数字を返すラベルのようなものを試してみてはどうでしょうか。アプリの見た目をすっきりさせます。

本当にpageControlを使用したい場合でも、pbasdfの答えは的を射ています。 pageControl.transform = CGAffineTransformMakeScale(0.8、0.8) トリックを行う必要があります。

2
Clinton D'Souza