Sponsorluk

SwiftUI - টেক্সটফিল্ড ও স্লাইডার

0
2

ইউজার থেকে টেক্সট ইনপুট নেওয়ার জন্য টেক্সটফিল্ড ও স্লাইডার ব্যবহার করা হয়। আমরা ছোট্ট একটা টিপ ক্যালকুলেটর বানাবো, যা দিয়ে টেক্সটফিল্ড ও স্লাইডারের ব্যবহার শিখব। টেক্সটফিল্ড দেখানো সহজঃ

TextField("Bill", text: $input)

এখানে চাইলে আমরা একটা ডিফল্ট ভ্যালু দিয়ে দিতে পারি। input নামে এই ভ্যারিয়েবল ব্যবহার করেছি আমরা। এই ভ্যারিয়েবলে যে ভ্যালু দিব, তাই ডিফল্ট ভ্যালু হিসেবে কাজ করবে। আর ইউজার কোন ইনপুট দিলে এই input ভ্যারিয়েবল দিয়ে তা এক্সেস করতে পারব।

ঠিক একই ভাবে স্লাইডার ব্যবহার করতে চাইলেঃ

Slider(value: $tip, in: 0...100)

এখানে স্লাইডারের ডেটা রেঞ্জ বলে দিতে হয়। আর চাইলে ডিফল্ট একটা ভ্যালু সেট করে দেওয়া যায়। আমরা tip নামে একটা ভ্যারিয়েবল নিব, যেখানে 5 ডিফল্ট ভ্যালু হিসেবে সেট করে দিব।

ইউজার যে input দিবে, তাকে ডাবলে কনভার্ট করে নিতে হবে। তা করতে পারি এভাবেঃ

var total = Double(input) ?? 0.0

এখানে নাল ভ্যালু বা স্ট্রিং ভ্যালু ইনপুট দিলে 0.0 ডিফল্ট ভ্যালু হিসেবে ব্যবহার করবে।

বিভিন্ন দেশে রেস্টুরেন্টে খাওয়া দাওয়া করলে বা কোন সার্ভিস নিলে টোটাল বিলের একটা পারসেন্টেজ টিপস হিসেবে দেয়। অনেকে জবই করে মূলত এই টিপস পাওয়ার আসায়। তো কেউ যদি চায় 5% টিপস দিবে, তাহলে তার বিল যদি ১০০ টাকা হয়, তাহলে সে টোটাল ১০৫টাকা দিবে। আমরা ইউজারকে হেল্প করব সে কত পার্সেন্ট টিপস দিবে, তা সিলেক্ট করলে টিপস সহ কত টাকা দিতে হবে। আর পারসেন্টেজ ক্যালকুলেশনের সূত্র হচ্ছেঃ tip/100 * total।

এই তো! সম্পূর্ণ কোডঃ

import SwiftUI

struct ContentView: View {
    @State private var tip: Double = 5
    @State var input = ""
    
    var body: some View {
        Text("Tip Calculator")
            .font(.title)
            .multilineTextAlignment(.center)
        
        VStack(alignment: .trailing, spacing: 10) {
            
            TextField("Bill", text: $input)
                .padding()
                .keyboardType(.decimalPad)
                .font(.largeTitle)
            
            Slider(value: $tip, in: 0...100)
            
            var total = Double(input) ?? 0.0
            
            Text("Tip: \(tip, specifier: "%.1f")% = $\(tip/100 * total, specifier: "%.1f")")
            
            Text("Total bill: \((tip/100 * total) + total, specifier: "%.1f")" )
                .font(.largeTitle)
                .padding()
            
        }
        .frame(maxWidth: 350, maxHeight: 200)
        .padding()
        Spacer()
  
    }
 
}

#Preview {
    ContentView()
}

আউটপুট পাবো এরকমঃ

বাড়তি হিসেবে Vstack এ ফ্রেম ব্যবহার করে ম্যাক্স ওয়াইড ও ম্যাক্স হাইট উল্লেখ করে দিয়েছি। যেন ট্যাবেও সুন্দর দেখা যায়। আইওএস ডেভেলপমেন্ট নিয়ে আরো কিছু লেখা পাওয়া যাবে এখানে।

Site içinde arama yapın
Kategoriler
Read More
Nulled
বাংলাদেশ ট্যুরিজম বোর্ড নিয়োগ বিজ্ঞপ্তি ২০২৬ | BTB Job Circular 2026
5/5 - (1 vote)বেসামরিক বিমান পরিবহন ও পর্যটন মন্ত্রণালয়ের অধীন জাতীয় পর্যটন সংস্থা (NTO)...
By Nettumi 2026-09-18 09:29:02 0 48
Nulled
Php Help Manager - PHM v6.0 Nulled - Script - Nulled PHP Scripts
Php Help Manager – PHM v6.0 Nulled – Script Free Download. Laravel Bootstrap Unique...
By Nettumi 2026-09-18 03:24:30 0 19
Tech
কীভাবে অ্যান্ড্রয়েড মোবাইলের ডিফল্ট Google Account পরিবর্তন করবেন? | Techtunes | টেকটিউনস
টেক্স বেইজড অনলাইন RPG : গেমিং ইন্ডাস্ট্রিতে নতুন ধারা জীয়নতরী
By Nettumi 2026-09-25 04:02:57 0 37
Nulled
WooCommerce PDF Catalog v1.13.5 - WordPress Plugin Free
WooCommerce PDF Catalog by Welaunch 15310703 on Codecanyon Free Download. Create a PDF Catalog...
By Nettumi 2026-09-18 04:05:23 0 22
Nulled
Why Power BI AI Fails Without a Solid Architecture - Intellectsoft Blog
It feels as if you asked your HR manager to help with your PBI project. It's terrible,...
By Nettumi 2026-09-21 04:43:37 0 31
‎ ‎ ‎
Nettumi https://nettumi.com