Merhaba,

Elimde bi tane Label var, kullanıcı bir kaç işlem yapıp, şartlar sağlandığında bu Label’ ın soldan sağa yavaşça gelerek görünmesini istiyorum. Ama şöyle bir durum var uygulama başladıktan sonra herhangi bir view öğesine dokunduğumda label normal bir şekilde görünüyor.

Kısaca istediğim, gerekli şartlar sağlandığında label soldan sağa kayarak görünmesi. Kodlarım bunlar.

@IBAction func buttonPressed(sender: AnyObject) {
    // ...
    // Duruma göre winner 0 veya 1 oluyor.

    if (winner != 0) {

        if (winner == 1) {
            label.text = "win x"
        }
        else {
            label.text = "win y"
        }

        UIView.animateWithDuration(1, animations: {
            self.label.center = CGPointMake(self.label.center.x + 400, self.label.center.y)
        })

    }
}

override func viewDidAppear(animated: Bool) {
    label.center = CGPointMake(label.center.x - 400, label.center.y)
}

soruldu: 21 Oca '15, 08:33

gormelof's gravatar image

gormelof
96234
cevap kabul oranı: 0%


-1

Viewdidappeardaki koddan dolayı olduğunu düşünüyorum. Ayrıca bu tarz animasyonlar için spritekit öneririm. Sklabelnode ile labellere hareketlendirmek daha kolay oluyor.

permanent link

cevaplandı: 22 Oca '15, 00:13

Antiokhos's gravatar image

Antiokhos
8365815
cevap kabul oranı: 17%

Evet viewDidAppear() metodundan kaynaklanan bir problem gibi geldi banada. Sprite Kit' i duymuştum ama daha önce hiç kullanmadım. Sprite Kit' i araştıracağım. Teşekkürler.

(22 Oca '15, 09:30) gormelof gormelof's gravatar image
-1

merhaba,

Kodunuzda anlamadığım bir nokta var, viewdidappear, view her görüntülendiğinde çalıştırılır. doğal olarak herhangi bifr view'a gidip aynı view'a geri döndüğünüzde viewdidappear içerisindeki kod da çaılştırılacaktır.

yanlış anlamadıysam, amacınız label'ın ilk açılışta ana view'ın dışında beklemesi ve şartlar sağlandığında animasyonla soldan sağa kayarak gelmesi...

Bunun için view2ı ilk dışarı taşımada "viewDidLoad" içerisine koymanız gerekiyor. Bu şekilde kod sadece bir kez çaılşacaktır, ve sonrasında view için yaptğıınız animasyonda kazandığı konumunu koruyacaktır.

Açıkçası bu kadar basit bir animasyon için sprike kit kullanmak, kumsalda kumdan kale yapmak için buldozer getirmeye benziyor :)

permanent link

cevaplandı: 22 Oca '15, 14:34

dreampowder's gravatar image

dreampowder
3.3k112849
cevap kabul oranı: 23%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×45
×12
×3
×1

Soruldu: 21 Oca '15, 08:33

Görüntüleme: 708 kez

Son güncelleme: 29 Oca '15, 15:41

powered by BitNami OSQA