2017-10-16 6 views
-1

カスタムビューとしてナビゲーションバーにボタンを追加しました。円形であることが必要です。 次のコードを使用する:正しく表示されないiOS 11(Xcode 9)のUIボタンの円形形状

let infoButton = UIButton(frame: CGRect(x: 0, y: 0, width: 24, height: 24)) 
    infoButton.setTitle("₹", for: .normal) 
    infoButton.layer.cornerRadius = 12 
    infoButton.clipsToBounds = true 
    infoButton.layer.borderWidth = 1.5 

    let infoItem = UIBarButtonItem(customView: infoButton) 
    navigationItem.rightBarButtonItems = [infoItem] 

をこれが今まで正常に動作していたが、iOS搭載デバイス11に適切な円形状を得ていません。 iOSの10 上で実行しているデバイスから

スナップショット:

1

iOSの11 上で実行しているデバイスからのスナップショット:

enter image description here

答えて

0

あなたはその後、円形のビューを作成したい場合clipsToBoundsを設定する必要はありませんが、masksToBoundsをtrueに設定する必要はありません。このような

+0

助けにはなりませんでした。また、masksToBoundsはここでの要件ではありません。 –

0

用途:

ここ

は私がcornerRadiuswidthを変更:

let infoButton = UIButton(frame: CGRect(x: 0, y: 0, width: 34, height: 24)) 
infoButton.setTitle("₹", for: .normal) 
infoButton.layer.cornerRadius = infoButton.bounds.size.width/2 
infoButton.clipsToBounds = true 
infoButton.layer.borderWidth = 1.5 

enter image description here

+0

それを試しても、まだ完全な円形が得られていません。 –

+0

「幅」を増やして試してみてください。私は 'iPad'と' iPhone'をチェックしてくれました。 –

+0

は、あなたがチェックしたiOS 11のデバイスですか? iOS 10で動作しているすべてのデバイスでうまく動作します。問題はiOS 11デバイスで発生します。 –

関連する問題