The document discusses new features introduced in iOS 15 and Swift 5.5 including bottom sheet customization with UISheetPresentationController, adding submenus to UIMenu, improved location permission with CLLocationButton, using async/await for asynchronous code, Double and CGFloat being interchangeable types, and using lazy in local contexts. It provides code examples for implementing these new features.
This document provides a tutorial on how to build a simple graphical user interface (GUI) calculator application using the NetBeans IDE. It explains how to create a project, build the front end by adding labels, text fields and buttons to a JFrame container, and add functionality by writing event handlers for the buttons. The finished application allows the user to enter two numbers, click an "Add" button to calculate the sum, and view the result in a text field. It also includes buttons to clear the fields and exit the program.
You can find the slides with speaker notes here : http://bit.ly/lifeofapp
During this talk we live the life of your app on the user's point of view.
The idea is to follow the user experience from the Play Store to the daily use, measure each time its frustration to find ways for us, as developers, to avoid them.
This document provides an overview of the tools needed to develop iPhone applications using Apple's Xcode development environment. It explains that Xcode, Interface Builder, and the iPhone Simulator are used to design, develop, and test iPhone apps. It then demonstrates how to create a simple "Hello World" app in Xcode, including writing code to display text on the screen and setting background colors. It also describes how to run apps in the iPhone Simulator to test them without needing a physical iOS device.
This document provides instructions for creating several apps in App Inventor, including:
1. A "Talk To Me" app that uses text-to-speech to say something when a button is pressed.
2. A "Ball Bounce" app that animates a ball bouncing around on a canvas.
3. A "Smart Employability Program Quiz" app that quizzes two players, tracks their scores, and determines a winner.
The instructions include steps for designing the user interfaces and coding the app behaviors using blocks. Screenshots are provided to illustrate the block code for key functions like handling button presses, tracking scores, and determining the winner.
This document contains summaries of 75 frequently asked Angular interview questions. It begins by defining Angular as a JavaScript framework developed by Google for building applications using web technologies like HTML, CSS, and JavaScript. It then goes on to summarize questions about setting up the Angular development environment, Angular CLI, components, data binding, directives, lifecycle hooks, and various methods for sharing data between components.
The document provides instructions on installing the Android SDK and setting up a development environment in Netbeans or Eclipse. It describes the basic building blocks of an Android application including activities, intents, services, and content providers. It also covers creating user interfaces with views and view hierarchies, handling click events, and building a simple form layout with widgets like text fields, buttons, and radio buttons.
App Inventor is a program that allows users to build Android apps using a web browser. It provides two main interfaces - the Designer for selecting and arranging app components, and the Blocks Editor for programming the app's behavior visually by snapping blocks together. Users can test apps as they build them on a connected phone or emulator. App Inventor supports building many types of apps from simple games to more complex apps using phone features and services. Programming in App Inventor is intended to be approachable for non-professionals through its visual block-based programming.
Swift is a new programming language created by Apple as an alternative to Objective-C for iOS development. It is faster, safer, and has a cleaner syntax than Objective-C. To start developing iOS apps in Swift, developers need a Mac computer, Xcode installed, and an Apple Developer account. Key aspects of iOS app development in Swift covered in the document include prototyping apps, using Xcode, optionals and auto layout, implementing protocols like UITableViewDelegate, and using MVC architecture.
The document discusses using the Android action bar. It explains that the action bar is at the top of every activity screen and can include menu items, tabs, and other navigation elements. It provides steps for adding an action bar, including menu items, and handling clicks. It also covers splitting the action bar on narrow screens and enabling up navigation with the app icon.
The document provides an overview of iOS app development basics including building a "Hello World" app, application architecture and states, coding in Objective-C, short message sending, storyboarding, and static table views. It discusses setting up an Xcode project, the app delegate, view controllers, windows, and application states like active, background, and suspended. It also covers Objective-C basics like properties, accessors, and blocks.
This document provides an introduction to the Small Basic programming language environment and teaches the basics of programming through examples. It discusses that Small Basic was created to make programming easy for beginners. It then describes the Small Basic programming environment user interface and walks through a first "Hello World" program. It explains how the program works by breaking it down into statements and objects. The document continues by having the reader modify the program to print in yellow and introduces the concept of variables by having the user input their name and printing it back.
The document discusses various alternatives to the React JavaScript framework for building user interfaces. It summarizes a tech talk where React experts discussed alternative frameworks. The main alternatives mentioned include Preact, Inferno JS, Backbone JS, Ember JS, and Vue JS. For each alternative, the document discusses pros and cons compared to React, including characteristics like size, performance, community support, and when each may be preferable to use over React. It provides a high-level overview of the considerations in choosing between React and its alternative frameworks.
Data Science Use Cases in Retail & Healthcare Industries.pdf
Data science has many useful applications in retail and healthcare. In retail, it allows for personalized recommendations, fraud detection, price optimization, and sentiment analysis. In healthcare, it facilitates medical imaging analysis, genomic research, drug discovery, predictive analytics, disease tracking and prevention, and monitoring through wearable devices. By analyzing customer, patient, and other relevant data, data science helps these industries better meet needs, enhance experiences and outcomes, and improve operations and decision making.
How Much Does It Cost To Hire Golang Developer.pdf
The document discusses the cost of hiring Golang developers. It begins by providing context on the rise of Golang due to the growth of IoT. The cost of hiring Golang developers depends on factors like experience, location, project size, and engagement model. Hourly rates range from $18-94 in different regions, with rates generally lowest in Asia and highest in North America. Common engagement models include time and materials, fixed price, and dedicated teams. The document aims to help understand the budget needed to hire Golang talent.
Flutter 3 is now stable on macOS and Linux and supports Apple Silicon chips. Key updates include menu support for macOS, Material You design support, improved Firebase integration, foldable device support, and performance improvements for animations and image decoding. Flutter 3 also adds themes extensions and updated ad support while maintaining Flutter's mission of being an open-source, cross-platform framework.
This document discusses iOS actions and outlets in Swift. It provides syntax examples of using @IBOutlet to create references to user interface elements, and @IBAction to define button click methods. It then walks through creating a simple iOS app with a label and button, connecting them to code using outlets and actions, and updating the label text when the button is clicked.
This document provides an introduction and overview of key concepts in C++ programming. It outlines 10 sections that will be covered in the tutorial: Introduction, Programme Structure, Variables, Assignments, Input and Output, Loops, Functions, Arrays, Recursion, and Selection. Each section is briefly described and includes short code examples to illustrate the concept. The overall document serves as a table of contents and roadmap for learning C++ programming from scratch through explanations of fundamental programming concepts.
RubyMotion allows developers to quickly build and test native iOS apps using the Ruby programming language instead of Objective-C. It uses the Ruby language, RSpec for testing, and integrates with Xcode and the iOS SDK to compile to native apps. Developers can create timers, pickers, buttons, and audio using RubyMotion and the iOS frameworks.
This document provides a tutorial on how to build a simple graphical user interface (GUI) calculator application using the NetBeans IDE. It explains how to create a project, build the front end by adding labels, text fields and buttons to a JFrame container, and add functionality by writing event handlers for the buttons. The finished application allows the user to enter two numbers, click an "Add" button to calculate the sum, and view the result in a text field. It also includes buttons to clear the fields and exit the program.
You can find the slides with speaker notes here : http://bit.ly/lifeofapp
During this talk we live the life of your app on the user's point of view.
The idea is to follow the user experience from the Play Store to the daily use, measure each time its frustration to find ways for us, as developers, to avoid them.
This document provides an overview of the tools needed to develop iPhone applications using Apple's Xcode development environment. It explains that Xcode, Interface Builder, and the iPhone Simulator are used to design, develop, and test iPhone apps. It then demonstrates how to create a simple "Hello World" app in Xcode, including writing code to display text on the screen and setting background colors. It also describes how to run apps in the iPhone Simulator to test them without needing a physical iOS device.
This document provides instructions for creating several apps in App Inventor, including:
1. A "Talk To Me" app that uses text-to-speech to say something when a button is pressed.
2. A "Ball Bounce" app that animates a ball bouncing around on a canvas.
3. A "Smart Employability Program Quiz" app that quizzes two players, tracks their scores, and determines a winner.
The instructions include steps for designing the user interfaces and coding the app behaviors using blocks. Screenshots are provided to illustrate the block code for key functions like handling button presses, tracking scores, and determining the winner.
This document contains summaries of 75 frequently asked Angular interview questions. It begins by defining Angular as a JavaScript framework developed by Google for building applications using web technologies like HTML, CSS, and JavaScript. It then goes on to summarize questions about setting up the Angular development environment, Angular CLI, components, data binding, directives, lifecycle hooks, and various methods for sharing data between components.
The document provides instructions on installing the Android SDK and setting up a development environment in Netbeans or Eclipse. It describes the basic building blocks of an Android application including activities, intents, services, and content providers. It also covers creating user interfaces with views and view hierarchies, handling click events, and building a simple form layout with widgets like text fields, buttons, and radio buttons.
App Inventor is a program that allows users to build Android apps using a web browser. It provides two main interfaces - the Designer for selecting and arranging app components, and the Blocks Editor for programming the app's behavior visually by snapping blocks together. Users can test apps as they build them on a connected phone or emulator. App Inventor supports building many types of apps from simple games to more complex apps using phone features and services. Programming in App Inventor is intended to be approachable for non-professionals through its visual block-based programming.
Swift is a new programming language created by Apple as an alternative to Objective-C for iOS development. It is faster, safer, and has a cleaner syntax than Objective-C. To start developing iOS apps in Swift, developers need a Mac computer, Xcode installed, and an Apple Developer account. Key aspects of iOS app development in Swift covered in the document include prototyping apps, using Xcode, optionals and auto layout, implementing protocols like UITableViewDelegate, and using MVC architecture.
The document discusses using the Android action bar. It explains that the action bar is at the top of every activity screen and can include menu items, tabs, and other navigation elements. It provides steps for adding an action bar, including menu items, and handling clicks. It also covers splitting the action bar on narrow screens and enabling up navigation with the app icon.
The document provides an overview of iOS app development basics including building a "Hello World" app, application architecture and states, coding in Objective-C, short message sending, storyboarding, and static table views. It discusses setting up an Xcode project, the app delegate, view controllers, windows, and application states like active, background, and suspended. It also covers Objective-C basics like properties, accessors, and blocks.
This document provides an introduction to the Small Basic programming language environment and teaches the basics of programming through examples. It discusses that Small Basic was created to make programming easy for beginners. It then describes the Small Basic programming environment user interface and walks through a first "Hello World" program. It explains how the program works by breaking it down into statements and objects. The document continues by having the reader modify the program to print in yellow and introduces the concept of variables by having the user input their name and printing it back.
The document discusses various alternatives to the React JavaScript framework for building user interfaces. It summarizes a tech talk where React experts discussed alternative frameworks. The main alternatives mentioned include Preact, Inferno JS, Backbone JS, Ember JS, and Vue JS. For each alternative, the document discusses pros and cons compared to React, including characteristics like size, performance, community support, and when each may be preferable to use over React. It provides a high-level overview of the considerations in choosing between React and its alternative frameworks.
Data Science Use Cases in Retail & Healthcare Industries.pdfKaty Slemon
Data science has many useful applications in retail and healthcare. In retail, it allows for personalized recommendations, fraud detection, price optimization, and sentiment analysis. In healthcare, it facilitates medical imaging analysis, genomic research, drug discovery, predictive analytics, disease tracking and prevention, and monitoring through wearable devices. By analyzing customer, patient, and other relevant data, data science helps these industries better meet needs, enhance experiences and outcomes, and improve operations and decision making.
How Much Does It Cost To Hire Golang Developer.pdfKaty Slemon
The document discusses the cost of hiring Golang developers. It begins by providing context on the rise of Golang due to the growth of IoT. The cost of hiring Golang developers depends on factors like experience, location, project size, and engagement model. Hourly rates range from $18-94 in different regions, with rates generally lowest in Asia and highest in North America. Common engagement models include time and materials, fixed price, and dedicated teams. The document aims to help understand the budget needed to hire Golang talent.
Flutter 3 is now stable on macOS and Linux and supports Apple Silicon chips. Key updates include menu support for macOS, Material You design support, improved Firebase integration, foldable device support, and performance improvements for animations and image decoding. Flutter 3 also adds themes extensions and updated ad support while maintaining Flutter's mission of being an open-source, cross-platform framework.
How Much Does It Cost To Hire Full Stack Developer In 2022.pdfKaty Slemon
Looking to Hire Full Stack developer at an affordable rate? Know how much it cost to Hire full stack Developer, types, popular combinations, and hourly rates
Sure Shot Ways To Improve And Scale Your Node js Performance.pdfKaty Slemon
Want to Improve And Scale Your Node js Performance? Check out some Node Js performance optimization tips and tricks for improving your existing Node Js app.
How to Develop Slack Bot Using Golang.pdfKaty Slemon
This document provides a tutorial on how to develop a Slack bot using Golang. It discusses setting up a Slack workspace and creating a Slack app. It then covers installing Golang and the go-slack package to connect the bot to Slack. The tutorial demonstrates sending simple messages and handling events when the bot is mentioned. It includes code examples for connecting to Slack, posting messages, and responding to mention events.
IoT Based Battery Management System in Electric Vehicles.pdfKaty Slemon
Explore India's most advanced cloud platform- IONDASH, responsible for monitoring the performance of battery management system in electric vehicles.
The Ultimate Guide to Laravel Performance Optimization in 2022.pdfKaty Slemon
Is your Laravel app facing performance issues? Here are the proven Laravel Performance Optimization tips to boost app performance and enhance security.
How to Hire & Manage Dedicated Team For Your Next Product Development.pdfKaty Slemon
Description: Looking for a dedicated team to manage your next product successfully? Read this blog to discover how to hire and manage a remote dedicated team.
Choose the Right Battery Management System for Lithium Ion Batteries.pdfKaty Slemon
Find out how to choose the right battery management system for lithium ion batteries by analyzing key parameters like voltage, current, and BMS architecture.
Angular Universal How to Build Angular SEO Friendly App.pdfKaty Slemon
This document discusses how to build an SEO friendly Angular application. It covers what Angular SEO is, why it is important, and two approaches: setting titles and metadata using the Angular meta service, and using Angular Universal for server-side rendering. It provides steps to add meta tags using the meta service and build an application with server-side rendering. The document also includes a link to the GitHub repository containing the demo application code.
How to Set Up and Send Mails Using SendGrid in NodeJs App.pdfKaty Slemon
Description: Curious about how to Send Mails using SendGrid in NodeJs App? Read this guide to learn everything about SendGrid, including what is SendGrid and Why to use it!
Ruby On Rails Performance Tuning Guide.pdfKaty Slemon
Want to know how you can Optimize the Ruby On Rails App? Go through this ultimate guide to get the best tips for improving your Ruby on Rails performance.
Uncovering 04 Main Types and Benefits of Salesforce ISV Partnerships.pdfKaty Slemon
Check out the ultimate Salesforce ISV guide to expand the growth of your business. Also, know the four main types and benefits of Salesforce ISV Partnerships.
Transcript: Details of description part II: Describing images in practice - T...BookNet Canada
This presentation explores the practical application of image description techniques. Familiar guidelines will be demonstrated in practice, and descriptions will be developed “live”! If you have learned a lot about the theory of image description techniques but want to feel more confident putting them into practice, this is the presentation for you. There will be useful, actionable information for everyone, whether you are working with authors, colleagues, alone, or leveraging AI as a collaborator.
Link to presentation recording and slides: https://bnctechforum.ca/sessions/details-of-description-part-ii-describing-images-in-practice/
Presented by BookNet Canada on June 25, 2024, with support from the Department of Canadian Heritage.
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsMydbops
This presentation, delivered at the Postgres Bangalore (PGBLR) Meetup-2 on June 29th, 2024, dives deep into connection pooling for PostgreSQL databases. Aakash M, a PostgreSQL Tech Lead at Mydbops, explores the challenges of managing numerous connections and explains how connection pooling optimizes performance and resource utilization.
Key Takeaways:
* Understand why connection pooling is essential for high-traffic applications
* Explore various connection poolers available for PostgreSQL, including pgbouncer
* Learn the configuration options and functionalities of pgbouncer
* Discover best practices for monitoring and troubleshooting connection pooling setups
* Gain insights into real-world use cases and considerations for production environments
This presentation is ideal for:
* Database administrators (DBAs)
* Developers working with PostgreSQL
* DevOps engineers
* Anyone interested in optimizing PostgreSQL performance
Contact info@mydbops.com for PostgreSQL Managed, Consulting and Remote DBA Services
How Social Media Hackers Help You to See Your Wife's Message.pdfHackersList
In the modern digital era, social media platforms have become integral to our daily lives. These platforms, including Facebook, Instagram, WhatsApp, and Snapchat, offer countless ways to connect, share, and communicate.
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...Toru Tamaki
Jindong Gu, Zhen Han, Shuo Chen, Ahmad Beirami, Bailan He, Gengyuan Zhang, Ruotong Liao, Yao Qin, Volker Tresp, Philip Torr "A Systematic Survey of Prompt Engineering on Vision-Language Foundation Models" arXiv2023
https://arxiv.org/abs/2307.12980
Mitigating the Impact of State Management in Cloud Stream Processing SystemsScyllaDB
Stream processing is a crucial component of modern data infrastructure, but constructing an efficient and scalable stream processing system can be challenging. Decoupling compute and storage architecture has emerged as an effective solution to these challenges, but it can introduce high latency issues, especially when dealing with complex continuous queries that necessitate managing extra-large internal states.
In this talk, we focus on addressing the high latency issues associated with S3 storage in stream processing systems that employ a decoupled compute and storage architecture. We delve into the root causes of latency in this context and explore various techniques to minimize the impact of S3 latency on stream processing performance. Our proposed approach is to implement a tiered storage mechanism that leverages a blend of high-performance and low-cost storage tiers to reduce data movement between the compute and storage layers while maintaining efficient processing.
Throughout the talk, we will present experimental results that demonstrate the effectiveness of our approach in mitigating the impact of S3 latency on stream processing. By the end of the talk, attendees will have gained insights into how to optimize their stream processing systems for reduced latency and improved cost-efficiency.
An invited talk given by Mark Billinghurst on Research Directions for Cross Reality Interfaces. This was given on July 2nd 2024 as part of the 2024 Summer School on Cross Reality in Hagenberg, Austria (July 1st - 7th)
The Rise of Supernetwork Data Intensive ComputingLarry Smarr
Invited Remote Lecture to SC21
The International Conference for High Performance Computing, Networking, Storage, and Analysis
St. Louis, Missouri
November 18, 2021
UiPath Community Day Kraków: Devs4Devs ConferenceUiPathCommunity
We are honored to launch and host this event for our UiPath Polish Community, with the help of our partners - Proservartner!
We certainly hope we have managed to spike your interest in the subjects to be presented and the incredible networking opportunities at hand, too!
Check out our proposed agenda below 👇👇
08:30 ☕ Welcome coffee (30')
09:00 Opening note/ Intro to UiPath Community (10')
Cristina Vidu, Global Manager, Marketing Community @UiPath
Dawid Kot, Digital Transformation Lead @Proservartner
09:10 Cloud migration - Proservartner & DOVISTA case study (30')
Marcin Drozdowski, Automation CoE Manager @DOVISTA
Pawel Kamiński, RPA developer @DOVISTA
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
09:40 From bottlenecks to breakthroughs: Citizen Development in action (25')
Pawel Poplawski, Director, Improvement and Automation @McCormick & Company
Michał Cieślak, Senior Manager, Automation Programs @McCormick & Company
10:05 Next-level bots: API integration in UiPath Studio (30')
Mikolaj Zielinski, UiPath MVP, Senior Solutions Engineer @Proservartner
10:35 ☕ Coffee Break (15')
10:50 Document Understanding with my RPA Companion (45')
Ewa Gruszka, Enterprise Sales Specialist, AI & ML @UiPath
11:35 Power up your Robots: GenAI and GPT in REFramework (45')
Krzysztof Karaszewski, Global RPA Product Manager
12:20 🍕 Lunch Break (1hr)
13:20 From Concept to Quality: UiPath Test Suite for AI-powered Knowledge Bots (30')
Kamil Miśko, UiPath MVP, Senior RPA Developer @Zurich Insurance
13:50 Communications Mining - focus on AI capabilities (30')
Thomasz Wierzbicki, Business Analyst @Office Samurai
14:20 Polish MVP panel: Insights on MVP award achievements and career profiling
Choose our Linux Web Hosting for a seamless and successful online presencerajancomputerfbd
Our Linux Web Hosting plans offer unbeatable performance, security, and scalability, ensuring your website runs smoothly and efficiently.
Visit- https://onliveserver.com/linux-web-hosting/
The DealBook is our annual overview of the Ukrainian tech investment industry. This edition comprehensively covers the full year 2023 and the first deals of 2024.
BT & Neo4j: Knowledge Graphs for Critical Enterprise Systems.pptx.pdfNeo4j
Presented at Gartner Data & Analytics, London Maty 2024. BT Group has used the Neo4j Graph Database to enable impressive digital transformation programs over the last 6 years. By re-imagining their operational support systems to adopt self-serve and data lead principles they have substantially reduced the number of applications and complexity of their operations. The result has been a substantial reduction in risk and costs while improving time to value, innovation, and process automation. Join this session to hear their story, the lessons they learned along the way and how their future innovation plans include the exploration of uses of EKG + Generative AI.
Implementations of Fused Deposition Modeling in real worldEmerging Tech
The presentation showcases the diverse real-world applications of Fused Deposition Modeling (FDM) across multiple industries:
1. **Manufacturing**: FDM is utilized in manufacturing for rapid prototyping, creating custom tools and fixtures, and producing functional end-use parts. Companies leverage its cost-effectiveness and flexibility to streamline production processes.
2. **Medical**: In the medical field, FDM is used to create patient-specific anatomical models, surgical guides, and prosthetics. Its ability to produce precise and biocompatible parts supports advancements in personalized healthcare solutions.
3. **Education**: FDM plays a crucial role in education by enabling students to learn about design and engineering through hands-on 3D printing projects. It promotes innovation and practical skill development in STEM disciplines.
4. **Science**: Researchers use FDM to prototype equipment for scientific experiments, build custom laboratory tools, and create models for visualization and testing purposes. It facilitates rapid iteration and customization in scientific endeavors.
5. **Automotive**: Automotive manufacturers employ FDM for prototyping vehicle components, tooling for assembly lines, and customized parts. It speeds up the design validation process and enhances efficiency in automotive engineering.
6. **Consumer Electronics**: FDM is utilized in consumer electronics for designing and prototyping product enclosures, casings, and internal components. It enables rapid iteration and customization to meet evolving consumer demands.
7. **Robotics**: Robotics engineers leverage FDM to prototype robot parts, create lightweight and durable components, and customize robot designs for specific applications. It supports innovation and optimization in robotic systems.
8. **Aerospace**: In aerospace, FDM is used to manufacture lightweight parts, complex geometries, and prototypes of aircraft components. It contributes to cost reduction, faster production cycles, and weight savings in aerospace engineering.
9. **Architecture**: Architects utilize FDM for creating detailed architectural models, prototypes of building components, and intricate designs. It aids in visualizing concepts, testing structural integrity, and communicating design ideas effectively.
Each industry example demonstrates how FDM enhances innovation, accelerates product development, and addresses specific challenges through advanced manufacturing capabilities.
7 Most Powerful Solar Storms in the History of Earth.pdfEnterprise Wired
Solar Storms (Geo Magnetic Storms) are the motion of accelerated charged particles in the solar environment with high velocities due to the coronal mass ejection (CME).
RPA In Healthcare Benefits, Use Case, Trend And Challenges 2024.pptxSynapseIndia
Your comprehensive guide to RPA in healthcare for 2024. Explore the benefits, use cases, and emerging trends of robotic process automation. Understand the challenges and prepare for the future of healthcare automation
4. At Worldwide Developers Conference
21, Apple has overcome many
limitations by announcing some
important features for developers.
Apple has made sure while introducing
the new features in iOS 15 and Swift 5.5
that every developer can build the best
interactive applications with minimal
time and effort. In this blog post, we
will learn a few new features that have
been introduced and see how we can
implement them in our code.
6. 1. UISheetPresentation Controller
Apple provided some new API
improvements in WWDC 21 to present the
bottom sheets. In iOS 14, they introduced
this, but it didn’t have any customization,
but from iOS 15, we can implement apple
maps like a bottom sheet with a smaller
height. It has customization like height
adjustment, adding a grabber to the top of
the sheet.
UIViewController has a new property
called sheetPresentationController; you
can present the bottom sheet. We can
access the sheetPresentationController
property to get the instance of
UISheetPresentationController for
customizing its appearance.
8. Here, we can use detents to adjust the
height of the bottom sheet. It has 2
values .large() & .medium(). .large() will
show height for full screen & .medium()
will occupy height of half of screen
height. Here, We have passed an array
for detents, so first, it will show in half
of the screen height & then we can drag
it up to the full screen.
9. Here, we added a grabber on top of the
sheet, so users can understand how to
drag it & drag it.
When the bottom sheet is presented, the
view behind it dims automatically; if you
want to prevent it, you can set the value
of largestUndimmedDetentIdentifier to
.medium.
10. bSheet.largestUndimmedDetentIdentifie
r = .medium
If your bottom sheet has scrollable
content, we can set
prefersScrollingExpandsWhenScroll
edToEdge to false so that it will
scroll without going down & using
grabber; you can drag the sheet &
show it in full screen.
bSheet.prefersScrollingExpandsWh
enScrolledToEdge = false
11. We can set the corner radius for the
bottom sheet also using
preferredCornerRadius.
bSheet.preferredCornerRadius =
30.0
Want to get dedicated and highly-
skilled iOS developers?
Contact the best mobile
development company: Bacancy,
to hire iOS developer and start
building brilliant mobile apps.
12. 2. UIMenu:
iOS 14 introduced UIMenu, but if you
want to add a submenu, it was not
possible in iOS 14. So, iOS 15
introduced UIMenu with SubMenu
added to it.
Using UIMenu, we can create an
instance of the menu; it has a
parameter called children that can
take an array of UIMenu & UIAction.
UIAction takes the title, image,
attributes, state & handler as its
parameters.
13. UIMenu takes the title, image, options,
handler & other parameters. The state
in
UIAction is used to show a checkmark
to show selection.
It has 3 values .displayInline,
.destructive, .singleSelection. Using the
.singleSelection or .destructive option in
UIMenu, we can show the submenu.
When using .singleSelection It will allow
only 1 item as selected in the menu or
submenu.
15. let destruct = UIAction(title: "Delete",
image: UIImage(systemName:
"trash"), attributes: .destructive) { _
in }
let disable = UIAction(title:
"Standard", image:
UIImage(systemName: "sun.max"),
attributes: .disabled) { _ in }
btnMenu.menu = UIMenu(title:
"", children: [more, destruct, disable])
}
16. On long pressing the button, it shows the
menu; if you want to open the menu by
tapping the button, you can use the
property showsMenuAsPrimaryAction.
btnMenu.showsMenuAsPrimaryActi
on = true
17. 3.CLLocationButton
In iOS 13, new location permission was
introduced to access it only once. So,
whenever a user tries to access the
location, it asks for permission. In iOS
15, Apple improved that feature. They
are providing location button UI by
default. So, the first time it will ask the
user for permission. Whenever users
open the app again, the user can simply
click on the location button & it will
give access to the current location
without asking for permission alert.
If the user has denied permission for
the first time, when the user clicks on
the location button next time, it will
give access to the current location
18. without asking for a permission alert.
Once the location access is granted, even if
the application is in the background, it will
get location data. Location data access will
expire once the user or system terminates
the app.
19. 4.Async/Await:
Swift 5.5 introduced changes in the
concurrency system using
async/await. Concurrency means
running multiple chunks of code at
the same time. As the name suggests,
it is a way to write complex
asynchronous code if it is
synchronous. There are two steps to
perform for async/await: make a
function using the async keyword &
call it using await keyword. Async
means asynchronous; we can add it as
method attributes.
20. func generateRandomNumbers()
async -> [Int] {
(1...100).map { _ in
Int.random(in: 1...100)
}
}
To call this method, we need to use
await keyword ahead of the method call
& add it in an asynchronous context,
Task.
21. func showNumbers() {
Task{
let numbers = await
generateRandomNumbers()
print(numbers)
}
}
Before async/await was
introduced, we used closure
completion blocks, Result mostly
in Web service calls. From swift 5.5
onwards, We can use async/await
for asynchronous code without
completion handlers to return
values. We can directly assign
those values to
22. their respective variables. Using await
keyword in a function call will stop
further code execution until a response
comes.
To execute further code while
asynchronous code is executing, you
can keep the async keyword before the
variable & await the keyword while
accessing its result.
async let numbers =
generateRandomNumbers()
print(await numbers)
23. If we want to call multiple asynchronous
functions parallel, we can also do it with
async/await.
async let numbersInt =
generateRandomNumbersInt()
async let numbersDouble =
generateRandomNumbersDouble()
let numbers = await [numbersInt,
numbersDouble] as [Any]
print(numbers)
For error handling, in async/await, we
can use Result or try/catch.
24. let result = await
generateRandomNumbersInt()
switch result {
case .success(_):
break
case .failure(_):
break
}
do {
let result = try await
generateRandomNumbersInt()
print(result)
} catch let e {
print(e)
}
25. 5. Double & CGFloat Interchangeable
Types:
From swift 5.5, You can use Double &
CGFloat interchangeably without
converting them.
You can perform operations on Double
& CGFloat & can get the result in
Double.
let varCgFloat: CGFloat = 40
let varDouble: Double = 80
let result = varCgFloat + varDouble
print(result)
26. Output::
6. Lazy in the Local Context
Lazy keywords allow us to define stored
properties that will initialize when first
time used. From Swift 5.5, you can now
use the lazy keyword in the local context.
30. With the introduction of new
features in iOS 15 and Swift 5.5, the
application development became
less challenging with more robust
outcomes. The lightweight and
straightforward syntax with
powerful pattern matching has
made development better for iOS
developers.