Я хочу иметь один угол UIView
на каждом углу selected shape
, посредине каждого края и одного в центре.Появляется только один из подвью UIView?
selected shape
имеет прикрепленный к нему UITapGestureRecognizer
, но когда я нажимаю выбранную фигуру только на последний угол, который должен быть размещен, the bottom right corner bRCorner
, is what shows up.
class DrawViewController: UIViewController {
var selectedShape: UIView?
var tLCorner: UIView?
var tMCorner: UIView?
var tRCorner: UIView?
var mLCorner: UIView?
var mMCorner: UIView?
var mRCorner: UIView?
var bLCorner: UIView?
var bMCorner: UIView?
var bRCorner: UIView?
func tapShape(sender: UITapGestureRecognizer){
selectedShape = sender.view!
//for each corner: set color, add pan feature, place in view
var corners = [UIView](count: 9, repeatedValue: UIView(frame: CGRectMake(0, 0, 10, 10)))
for corner in corners{
corner.backgroundColor = fontColor
let pan = UIPanGestureRecognizer(target: self, action: "moveShape:")
corner.addGestureRecognizer(pan)
self.view.insertSubview(corner, aboveSubview: selectedShape!)
}
//place each corner in proper place
tLCorner = corners[0]
tLCorner!.center.x = (selectedShape?.frame.minX)!
tLCorner!.center.y = (selectedShape?.frame.minY)!
tMCorner = corners[1]
tMCorner!.center.x = (selectedShape?.frame.midX)!
tMCorner!.center.y = (selectedShape?.frame.minY)!
tRCorner = corners[2]
tRCorner!.center.x = (selectedShape?.frame.maxX)!
tRCorner!.center.y = (selectedShape?.frame.minY)!
mLCorner = corners[3]
mLCorner!.center.x = (selectedShape?.frame.minX)!
mLCorner!.center.y = (selectedShape?.frame.midY)!
mMCorner = corners[4]
mMCorner!.center = (selectedShape?.center)!
mRCorner = corners[5]
mRCorner!.center.x = (selectedShape?.frame.maxX)!
mRCorner!.center.y = (selectedShape?.frame.midY)!
bLCorner = corners[6]
bLCorner!.center.x = (selectedShape?.frame.minX)!
bLCorner!.center.y = (selectedShape?.frame.maxY)!
bMCorner = corners[7]
bMCorner!.center.x = (selectedShape?.frame.midX)!
bMCorner!.center.y = (selectedShape?.frame.maxY)!
bRCorner = corners[8] //the only corner that shows up!
bRCorner!.center.x = (selectedShape?.frame.maxX)!
bRCorner!.center.y = (selectedShape?.frame.maxY)!
}
Однако, когда я закомментировать две последние строки:
//bRCorner!.center.x = (selectedShape?.frame.maxX)!
//bRCorner!.center.y = (selectedShape?.frame.maxY)!
Последнего углом для размещения становится нижним средним углом bMCorner
и bMCorner
is what shows up.
bMCorner = corners[7] //this is what shows up!
bMCorner!.center.x = (selectedShape?.frame.midX)!
bMCorner!.center.y = (selectedShape?.frame.maxY)!
Я смущен, почему это происходит. Я бы предпочел, чтобы все углы появились. Любая помощь по этому вопросу будет принята с благодарностью!
спасибо! – 14wml
@ 15ongm добро пожаловать. Я всегда просматриваю профили пользователей с низкой репутацией и смотрю на их вопросы, ответы и опросы. Кажется, что вы не использовали (или не очень) использование своих привилегий для поддержки ответов, которые были полезны.Принятие заключается в том, чтобы пометить вопрос, как решить вашу проблему, авансирование - дать автору кредит за помощь. Кроме того, по одному вопросу вы сами ответили - вы также можете принять свой собственный ответ. – luk2302
Я вижу; Я новичок в переполнении стека, поэтому я не знаком с различными функциями. Но спасибо, что сообщили мне. Я обязательно позабочусь о преимуществах надписи и маркировки. – 14wml