私はiPadの画面を持っています:Swift iPad - ボタンが動作しない
1)ボタンの位置を変更すると、クリックできません。 2)円形ボタンの画像が伸びています。
以下の画面でボタンセットを作成する必要があります。
私はボタンセットを作成するには、次のコードを使用しています。
class MyCommonViewController: UIViewController {
var button: UIButton?
var Circularbutton: UIButton?
override func viewDidLoad() {
super.viewDidLoad()
var xMargin:CGFloat = 20.0
var yTopMargin:CGFloat = 40.0
var CircularBtnxMargin:CGFloat = 180.0
var CircularBtnyTopMargin:CGFloat = 200.0
var i = 1
let TextArray = ["Button 1", "Button 2", "Button 3", "Button 4", "Button 5", "Button 6"]
for index in 1...6
{
button = UIButton()
button?.tag=index
var buttonFrame = self.view.frame
buttonFrame.origin.x += xMargin
buttonFrame.origin.y += yTopMargin
buttonFrame.size.width = 200
buttonFrame.size.height = 200
button?.frame = buttonFrame
button?.layer.cornerRadius = 15.0
button?.layer.zPosition = 10
button?.backgroundColor = UIColor.lightGrayColor()
button?.setTitle(TextArray[index-1], forState: UIControlState.Normal)
button?.addTarget(self, action: #selector(MyCommonViewController.BigButtonTouched), forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button!)
Circularbutton = UIButton()
var CbuttonFrame = self.view.frame
CbuttonFrame.origin = CGPoint(x:CircularBtnxMargin, y:CircularBtnyTopMargin)
CbuttonFrame.size.width = 50
CbuttonFrame.size.height = 50
Circularbutton?.frame = CbuttonFrame
Circularbutton?.tag=index
Circularbutton?.layer.zPosition = 100
let image = UIImage(named: "que2.png") as UIImage?
Circularbutton?.setImage(image, forState: UIControlState.Normal)
Circularbutton?.addTarget(self, action: #selector(MyCommonViewController.questionButtonPressed), forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(Circularbutton!)
xMargin+=250.0
CircularBtnxMargin+=250.0
i+=1
if(i > 3)
{
yTopMargin+=300.0
xMargin=20.0
CircularBtnyTopMargin+=300.0
CircularBtnxMargin=180.0
i=1
}
}
}
}
1)ただし、疑問符の付いたボタンは、最初の2つのボタンを除いてクリックできません。
2)私の第二の問題は、円形ボタンの画像が粗い不均一な境界線を表示していることです。
お手伝いできますか?
編集:
func questionButtonPressed(sender:UIButton!) {
let btn:UIButton = sender
print("Circular Button Pressed - \(btn.tag)")
}
func BigButtonTouched(sender:UIButton!) {
let bigBtn:UIButton = sender
print("Button Pressed - \(bigBtn.tag)")
}
インデックスは1〜6です。私はそれが配列のインデックスであるので、0から5までループする必要があると思います。 – Almazini
あなたのコンテンツを共有できますか:questionButtonPressed func? –
@RoyK - questionButtonPressedとBigButtonTouchedの質問に機能コードを追加しました。 – dang