NotesWhat is notes.io?

Notes brand slogan

Notes - notes.io

Swift Bütün Kodlar ;

Toplama işlemi yaparken veya başka bir işlem yaparken INT, String değerlerinde programdan atma sorunu çözer (iki taraftan ! Koyma veya iki taraftan ? Koyma yerine tek ! Veya ? Yeterli) ;


if let firstNumber = Int(text1.text!){
if let secondNumber = Int(text2.text!){
let result = firstNumber + secondNumber
sonuc.text = String(result)
}

Layout (Kodla text buton ekleme) ;

Let myLabel = UILabel()
myLabel.text “My Test Label”
myLabel.textAlignment = .center // . Yazdığın zaman çıkabilecek kodları gösteriyor uzun versiyonlu yazma yerine ”.” Olayı çözüyor
myLabel.frame =. CGRect // yazdığın zaman x y height width
View.addSubview(myLabel) // labeli Mainde göstermeye yarıyor

// Otomatik telefonun büyüklüğünü küçüklüğünü anlamak için
Let width = view.frame.size.width
Let height = view.frame.size.height

//Buton’da isim değiştirmek için
Butonismi.setTitle(“Buton1”, for UIControlState.normal)

// Kodla Butona Action atamak için

my.Button.addTarget(self, action: #selector(ViewController.Fonksiyonismi), for: UIControlEvents.touchUpUnside)

@objc func myAction(){
Mylabel.text = “you click”
}



///////////////////YUKARI LAYOUT’la ilgili///////////////

/////////////VERİ KAYDETME//////////////

// Didload’ın içinde çünkü arka planda çalıştırmasına yarıyor

let isim = UserDefaults.standard.object(forKey: "isim")
let dogumyili = UserDefaults.standard.object(forKey: "dogumyili")

if let yeniisim = isim as? String {
labelisim.text = "İsmi : (yeniisim)"
}
if let yenidogumyili = dogumyili as? String{
labeldogumyili.text = "Doğum Yılı : (yenidogumyili)"
}

//Butonlarda kaydetme ve silme

@IBAction func kaydet(_ sender: Any) {

UserDefaults.standard.set(isim.text!, forKey: "isim")
UserDefaults.standard.set(dogumyili.text!, forKey: "dogumyili")
UserDefaults.standard.synchronize()

labelisim.text = "İsmi : (isim.text!)"
labeldogumyili.text = "Doğum Yılı : (dogumyili.text!)"

}

@IBAction func sil(_ sender: Any) {
let isim = UserDefaults.standard.object(forKey: "isim")
let dogumyili = UserDefaults.standard.object(forKey: "dogumyili")

if (isim as? String) != nil {
UserDefaults.standard.removeObject(forKey: "isim")
labelisim.text = "İsmi : "
}
if (dogumyili as? String != nil){
UserDefaults.standard.removeObject(forKey: "dogumyili")
labeldogumyili.text = "Doğum Yılı : "
}
}


//////////////KOMUTLA İKİNCİ EKRANA GEÇME///////////
let kontrol = 1
if kontrol == Int(textbox1.text!){
performSegue(withIdentifier: "ikinciekranagec", sender: nil)
}

NOT: yeni bir ikinci ekran açıp o ikinci ekrana bir class açıp yani secondViewController.swift sonra ikinci ekranın class ıylya bunu bağladıktan sonra birinci viewController ‘i kntrl tuşu ile ikinci ekrana sürükle sonra bağlı olan noktaya bir id ver

self.dismiss(animated: true, completion: nill) // buda geri gitmek için fakat yukarıdakini aynısını yapıpta gidebilirsin.




/// İkinci Ekranla bağlantılı bir şey yaparken Komutlar şu şekilde////////////


//İlk ekranda viewDidLoad’ın altına

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "ikinciekranagec"{ //Burada hangi ekrandaki segum olduğunu yazıyoruz İD sini
let destinationVC = segue.destination as! secondViewController // Burada ikinci ekrandaki değişkenleri görüyoruz
destinationVC.name = username // Burdaki name ikinci ekrandaki oluşturduğumuz değişken string //username ise ilk ekranda verdiğimiz string değeri var ile yazılmış.

}


// Butonlara var username = “” butonada textbox1.text = username //ikinci ekrandaki ise var name = “” label1.text = “ismi: (name)”




///////////////ALERT OLUŞTURMA//////////////////

let uyari = UIAlertController(title: "Uyarı", message: "İsminizi Boş Geçtiniz Kayitli olan isimle devam edilecektir. Onaylıyormusunuz ?", preferredStyle: UIAlertControllerStyle.alert)
let uyariok = UIAlertAction(title: "Tamam", style: UIAlertActionStyle.cancel, handler: nil)
uyari.addAction(uyariok)
self.present(uyari, animated: true, completion: nil)

let test = UIAlertAction(title: "replay", style: UIAlertActionStyle.default, handler: { (<#UIAlertAction#>) in
<#code#>
})



///////////////RESMİ TIKLANABİLİR YAPMA VE GÖREV VERME///////////////

NOT:ViewDidLoad ın içine yazılması gerekiyor

imageView.isUserInteractionEnabled = true // Tıklanabilir olmasını sağlayan kod


Let changeimage = UITapGestureRecognizer(target: self, action: #selector(ViewController.fonksiyonismi))
imageView.addGestureRecognizer(changeimage)

// ViewDidload ın altına yazıldı fonksiyon


@objc func fonksiyonismi {

//Tıkladıpında yapılcak işlem
}



//// Zamankayıcı (TİMER) /////////////

Var timer = Timer()
Var counter = 0


//viewdidload içine şimdi

Counter = 10
Label.text = String(Counter) // label bizim timer işleyeceğimiz label

Timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: #selector(ViewController.Fonksiyonismi), userInfo:nil, repeats: true) // buradaki 1 kaç saniye gideceğini belirtiyor

//viewdidload dışında

@objc func timeFuncition() {

Label.text = String(counter)
counter = counter - 1

İf counter == 0 // diye devam eder
Timer.incalidate() //Durdur

}




////////////Arka Plan rengini Değiştirme

view.BackgroundColor = UIColor.green


////////////Hoşgeldiniz Ekranı (Uygulama açılırken beklediğindeki beyaz ekranı kendi logo yada loading gif felan koyulabilecek bir ekran) ============= LaunchScreen



//KENY Oyunu 9 resimden sadece 1 i görünecek ve sürekli değişecek RANDOM var

Var kennyArray[ImageView]


kennyArray.append(keny1)
Kent 2
Kent 3 …….
hideKenny() // ViewdidLoad içinde olduğu için çalıştırıuo hemen


Func hideKenny(){

for kenny in kennyArray {

kenny.isHidden = True
}

Let random = INT(arc4random_uniform(UIINT32(kennyArray.count - 1)))
kennyArray[random].isHidden = False

}




///////////// HIGHT SCORE AYARLAMA



viewDidLoad içine

Let highscore = UserDefaults.standard.object(forKey: “hightscore”)

İf highScore == nil {

highScoreLabel.text = “0”

}
İf let newScore = highScore as? Int {
highScoreLabel.text = String(newScore)

}



Diğeride if in içinde self.score > Int(highscorelabel.text!)! {
Userdefaults.standard.set……….. //Kayıt etmede var
highscoreLabel.text = String(self.score)

}





////////////////////////TableView Konusu////////////////// Whatsapp sosyal medya platformu gibi çoğu şeyi table View ile yapıyorlar


İlk önce UIViewController’e gelip UIViewController,UIViewDelegate,UITableViewDataSource eklenmesi gerekiyor // Sadece TableViewlerde değil textfieldlerdede aynı şey olabilir. Bunları buraya yazınca onunla ilgili fonksiyonları sistem artık alıyor


Viewdidload’ın içine

tabView.dataSource = self
tableView.delegate = self

Bunları yazdıktan sonra hata alıcak çünkü bunların zorunlu yazılması gereken fonksiyonları var

//1.fonksiyon

Func tableView numberOfRowsInSection ////// Bunu yazarken zaten otomatikman seçeneklerde çıkacaktır
İçine code bölümüne
Return 10. /////// Yani 10 adet tableView Olsun

//2.fonksiyon

Func tableView cellForRowAt
Let cell = UITableViewCell() // Cell oluşturduk
Cell.textlabel?.text = “Bekir”. // yazılacak yazı
Return cell //yazıları göster

Yani 10 kere Bekir tableviewde gözükecektir


/// Şimdi TableViewler dizi olarakta yapılabilir

En üste dizileri oluşturuyoruz.
Var landmarkNames = [String]()
Var landmarkImages = [UIImage]()

//Didload’ın içine şimdi dizi ekleyeceğiz

landmarkNames.append(“colosseum”)
landmarkImages.append(UIImage(named: “colloseum.jpg”)!) // ünlem böyle bir dosya olup olmadığını kesinleştiriyoruz ve resimleri ekliyoruz.


//ilk fonksiyonumuz olan kaç adet satır olacağına otomatikman oluşturmak için

Return landmarkNames.count

//ikinci fonksiyonda ne yazılacağını otomatikman yazdırmak için

Let cell = UITableViewCell() // Cell oluşturduk
Cell.textLabel?.text = landmarkNames[indexpath.row] // indexpath.row kaçıncı sırada hangisi varsa otomatik yerleştiriyor
Return cell //yazıları göster


/// TableViewleri istediğini silmesini sağlamak sola kaydırmalı

//Fonksiyon eklememiz lazım

Commit editingStyle // bunu yazınca otomatik karşımıza çıkacaktır

İçine;
İf editingStyle == .delete {
landmarkNames.remove(at: indexPath.row)
landmarkImages.remove(at: indexPath.row)
tableView.deleterows(at: [indexpath], with: UITableVİewRowAnimation.fade) //sola kaydır gibi

}


/////////////////Navigation Bar Kullanımı ==== Bize otomatikman back tuşu felan sağlıyor üst tarafta bir bölüm açıp


ViewController’in üzerine geliyoruz editor embedin>navigationController i seçiyoruz bize navigationbar oluşturuyor ondan sonra diğer pencereye bağladığımız zaman otomatik geri tuşunu vs kenidis koyuyor.

TableView KentSimgeleri Uyg. 7.uygulamayı bitirmek ona bak uygula ve not al



















































     
 
what is notes.io
 

Notes.io is a web-based application for taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000 notes created and continuing...

With notes.io;

  • * You can take a note from anywhere and any device with internet connection.
  • * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
  • * You can quickly share your contents without website, blog and e-mail.
  • * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
  • * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.

Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.

Easy: Notes.io doesn’t require installation. Just write and share note!

Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )

Free: Notes.io works for 12 years and has been free since the day it was started.


You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;


Email: [email protected]

Twitter: http://twitter.com/notesio

Instagram: http://instagram.com/notes.io

Facebook: http://facebook.com/notesio



Regards;
Notes.io Team

     
 
Shortened Note Link
 
 
Looding Image
 
     
 
Long File
 
 

For written notes was greater than 18KB Unable to shorten.

To be smaller than 18KB, please organize your notes, or sign in.