SHARE
TWEET

Untitled

a guest Jul 21st, 2019 65 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var buttonsText = ["AC", "±", "%", "÷",
  2.                        "7", "8", "9", "x",
  3.                        "4", "5", "6", "-",
  4.                        "1", "2", "3", "+",
  5.                        "0", "00", ".", "="]
  6.     @State var screenValue = "0"
  7.     var calculator = Calculator()
  8.  
  9. var body: some View {
  10.         VStack { // Vertical Stack İçerisindeki elemanları yatay olarak alt alta ekler
  11.             Spacer()
  12.             VStack(alignment: .trailing) {
  13.                 Text(screenValue) // Hesap Makinemizin sonuç değeri.
  14.                     .bold()
  15.                     .font(.largeTitle)
  16.                     .padding()
  17.                     .gesture(
  18.                         DragGesture(minimumDistance: 50)
  19.                             .onEnded { _ in
  20.                                 self.screenValue = self.calculator.deleteLast()
  21.                         }
  22.                 )
  23.                 Divider()
  24.             }
  25.            
  26.             ForEach((0...4)) { firstIndex in
  27.                 HStack(alignment: .bottom) // Horizontal Stack İçerisindeki elemanları dikey olarak yan yana sıralar.
  28.                 {
  29.                     ForEach((0...3)) { secondIndex in
  30.                         ZStack { // Z Satck içerisindeki elemanlar üst üste gelecek şekilde yerleştirir.
  31.                             Circle()
  32.                                 .frame(width: 75, height: 75, alignment: .center)
  33.                                 .foregroundColor(self.getColor(firstIndex: firstIndex, secondIndex: secondIndex))
  34.                                 .padding(10)
  35.                                 .tapAction {
  36.                                     self.touchButton(button: self.buttonsText[(firstIndex * 4) + secondIndex])
  37.                             }
  38.                            
  39.                             Text(self.buttonsText[(firstIndex * 4) + secondIndex])
  40.                                 //                                .frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)
  41.                                 .color(.white)
  42.                                 .bold()
  43.                                 .font(.title)
  44.                                 .tapAction { // :(
  45.                                     self.touchButton(button: self.buttonsText[(firstIndex * 4) + secondIndex])
  46.                             }
  47.                         }
  48.                     }
  49.                 }
  50.             }
  51.         }
  52.     }
  53.     func getColor(firstIndex: Int, secondIndex: Int) -> Color
  54.     {
  55.         if firstIndex == 0 && secondIndex != 3
  56.         { return .init(red: 0.65, green: 0.65, blue: 0.65) }
  57.        
  58.         if secondIndex == 3
  59.         { return .orange }
  60.        
  61.         return .init(red: 0.20, green: 0.20, blue: 0.20)
  62.     }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top