我有4个UIButtons:
import UIKit
class HexagonButton: UIButton {
override func drawRect(rect: CGRect) {
print("screenheight:\(self.frame.width)")
let polySize:CGFloat = self.frame.width // change this
let context = UIGraphicsGetCurrentContext()
CGContextSaveGState(context)
var t0 = CGContextGetCTM(context)
t0 = CGAffineTransformInvert(t0)
CGContextConcatCTM(context, t0)
//Begin drawing setup
CGContextBeginPath(context)
CGContextSetRGBStrokeColor(context, 0, 0, 0, 1)
CGContextSetLineWidth(context, 2.0)
//Start drawing polygon
let center = CGPointMake(polySize, polySize)
CGContextMoveToPoint(context, center.x, center.y + polySize)
for i in 0..<6
{
let x = polySize * CGFloat(sinf(Float(i) * 2.0 * Float(M_PI) / 6))
let y = polySize * CGFloat(cosf(Float(i) * 2.0 * Float(M_PI) / 6))
CGContextAddLineToPoint(context, center.x + x, center.y + y)
}
//Finish Drawing
CGContextClosePath(context)
CGContextSetFillColor(context, CGColorGetComponents(UIColor.formen25().CGColor))
CGContextDrawPath(context, CGPathDrawingMode.FillStroke)
CGContextFillPath(context)
CGContextRestoreGState(context)
}
}
在故事板中,我使UIButtons宽度等于其视图的高度,乘数= 0.2。
用户更改放置按钮的视图的高度。即使我使用静态尺寸的按钮,他们错误的iphone 6s plus。这是我的HexagonButton的错误吗?
也许我必须按特定方式放置按钮?我在堆栈视图的中间添加了两个UIButton,并在视图中居中(水平和垂直)堆栈视图。然后我将其他UIButtons集中在一起,给它们一个顶部和底部空间(-14)到stackview。我把所有按钮都做了相同的尺寸。