Hi,
I have a list of items on the iPhone that I want to share on the watch. The list would be too big to have the actual file on the watch, so, what's the best way to share the list from the iPhone, and could someone give me a step by step on what to do or point me to a good document?
Thanks,
Dan Uff
Post
Replies
Boosts
Views
Activity
Hi,
I have been trying to change the default color of the NavigationView in the AppDelegate file and am unable to. Is it the code, or me? Using Xcode 13, Beta 1.
I got the code from hackingwithswift.com.
Here's the code:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Change Color of Navigation Bar:
let configuration = UINavigationBarAppearance()
configuration.configureWithOpaqueBackground()
configuration.backgroundColor = .systemPurple
return true
}
Thank you.
Dan Uff
Hi,
I'm trying to make a small text editor. Everything works except I need the background a different color.
But the standard way to do it with 'ZStack' doesn't work? Any ideas?
Thanks!
ZStack {
Color.green
.ignoresSafeArea()
NavigationView {
TextEditor(text: $text)
.background(Color.clear)
.navigationTitle("Notepad Test!")
}
}
}
Hi,
I'm currently developing an Apple Watch app with Swift and Storyboards.
The main screen consists of three buttons going to three different view controllers. When I go to one view controller, it doesn't display the normal back "" button at the top-left corner, even though it works.
I tried this with an older project, with a similar setup and it works as it should.
I have no code to show because it works like it should. It seems to be with the storyboard.
Anyone else have this problem?
Thanks,
Dan Uff
The code is exactly the same in both projects, with
I am making an app for myself that would show the current state of the Magic Keyboard battery state. Can someone give me an hint or examples of what to do? Thanks.
Okay, I give up.
I am making a Flash card game where the app will randomize two numbers, then the user would enter the answer. The app will then tell the user if he/she is correct. But I cannot seem to figure out how to get it to add two numbers and check if the user's correct or not.
Any help is greatly appreciated!
Here's the code:
import UIKit
import AVFoundation
import Foundation
class YouSolveIt: UIViewController {
@IBOutlet var topProblem: UILabel!
@IBOutlet var botProblem: UILabel!
@IBOutlet var youAnswer: UITextField!
@IBOutlet var actualCard: UIImageView!
let speakit = AVSpeechSynthesizer()
var problem1 = Int(0)
var problem2 = Int(0)
var answer = 0
var ranA = 0
var ranB = 0
override func viewDidLoad() {
super.viewDidLoad()
// Load Flash Card image:
actualCard.image = UIImage(named: "FlashCard")
solveitproblem()
}
func solveitproblem()
{
let ranA = Int(arc4random_uniform(UInt32(9)))
let ranB = Int(arc4random_uniform(UInt32(9)))
topProblem.text = String(ranA)
botProblem.text = String(ranB)
youAnswer.text = String(answer)
let speakProblem = AVSpeechUtterance(string: "What is \(topProblem.text! + ", plus ," + botProblem.text!)")
speakit.speak(speakProblem)
}
@IBAction func btncheckAnswer(_ sender: Any)
{
if (ranA) + (ranB) == answer
{
correctAnswer()
}
else {
wrongAnswer()
}
}
func correctAnswer()
{
let right = [1,2,3,4,5]
let randomIndex = Int(arc4random_uniform(UInt32(right.count)))
switch(randomIndex)
{
case 1:
let speakRight = AVSpeechUtterance(string: "That is correct")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 2:
let speakRight = AVSpeechUtterance(string: "You're right!")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 3:
let speakRight = AVSpeechUtterance(string: "Correct! Let's try.")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 4:
let speakRight = AVSpeechUtterance(string: "You are right! Next Try.")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
case 5:
let speakRight = AVSpeechUtterance(string: "Great answer!")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
default:
let speakRight = AVSpeechUtterance(string: "Very good!")
speakit.speak(speakRight)
youAnswer.text = ""
solveitproblem()
}
}
func wrongAnswer()
{
let wrong = [1,2,3,4,5]
let randomIndex = Int(arc4random_uniform(UInt32(wrong.count)))
switch(randomIndex)
{
case 1:
let speakRight = AVSpeechUtterance(string: "That is wrong")
speakit.speak(speakRight)
case 2:
let speakRight = AVSpeechUtterance(string: "You're wrong, please try again.")
speakit.speak(speakRight)
case 3:
let speakRight = AVSpeechUtterance(string: "No, that's not it. Please try again.")
speakit.speak(speakRight)
case 4:
let speakRight = AVSpeechUtterance(string: "No")
speakit.speak(speakRight)
default:
let speakRight = AVSpeechUtterance(string: "I'm sorry, no. Please try again.")
speakit.speak(speakRight)
}
}
}
Hi,
I am looking for opinions on the best way to handle a problem I'm having.
My client wants his app to show a list of math tables, such as 1+1 = 2, 2+2 = 4, and so on. I have a list view with said tables in an array, which I manually have to input in. He wants the list to go from 1 to 20.
I'd assume that I would need some sort of for....next loop, but how would I show that in a list?
Thanks for any help you can give.
This is what I have so far:
import SwiftUI
import UIKit
struct ATables: View {
var tables = ["Temporary","1 + 1 = 2","2 + 2 = 4"]
var body: some View {
NavigationView {
List {
ForEach(self.tables, id: \.self) { show in
HStack {
Image(systemName: "arrow.right")
.resizable()
.frame(width: 30, height: 20, alignment: /*@START_MENU_TOKEN@*/.center/*@END_MENU_TOKEN@*/)
Text(show)
.font(.custom("Chalkboard", size: 50))
}
}
}.navigationBarTitle(Text("Addition Tables (1 - 20)"))
.navigationBarTitleDisplayMode(.inline)
}
}
struct ATables_Previews: PreviewProvider {
static var previews: some View {
ATables()
}
}
}
Hi,
I have a toolbar and a share button on the left side. The button isn't showing up on the canvas, but does show when the app is run in the simulator or a device. Is this normal behavior or a bug? This is a test button so please forgive the print statement.
Here's the code:
{
ToolbarItem(placement: .bottomBar)
{
Button(action: {
print ("Button Pressed!")
}
){
Image(systemName: "square.and.arrow.up")
}
}
}
Hi,
I have a json file that I have it printing to the terminal, but now I want to have the output go to an iPhone, iPad, and Apple Watch screen. Here's what I have in the viewDidLoad section....
override func viewDidLoad() {
super.viewDidLoad()
let data = GetData().$userData
print(data)
// Immediately get a quote upon app entry.
//getQuote()
}
The $userdata and data are defined in another file. Again, everything parses fine in the terminal.
If you need the other part of the code, please let me know.
Thanks,
Dan Uff
I just seen a discussion that had to do with App Groups. What’s the difference between App Groups and iCloud?
Thanks,
Dan Uff
Hi,
Is there anyway to remove (delete) a widget from a project? We would like to do so, so we can release an app without a widget until the GM version comes out.
Thanks,
Dan Uff
Hi,
My widget has been working flawlessly until upgrading to the above beta. Now I get:
"Type 'Provider' does not conform to protocol 'TimelineProvider'"
But it has been until this version of Xcode. Attached is my code.
Thanks for the help
Dan Uff
Hi all,
How can one show thew current day? I tried using the normal dateformatter option, but it doesn't seem to work. Below is my code:
static var dateformatter: DateFormatter =
{
// Get Current Date:
let dateformatter = DateFormatter()
dateformatter.dateStyle = .medium
// Get Day of Week:
let theWeekday = Calendar(identifier: .gregorian)
let currentDay = theWeekday.component(.weekday, from: Date())
return dateformatter
}()
var currentDate = Date()
var currentDay = Date()
var entry: Provider.Entry
var body: some View {
ZStack {
Color.black
.edgesIgnoringSafeArea(.all)
VStack {
Text("Today Is:")
.background(Color.black)
.foregroundColor(Color.white)
.font(.custom("DIN Alternate-Bold", size: 25))
.multilineTextAlignment(.center)
let dateTimeString = PlaceholderView.CPClockWidgetEntryView.dateformatter.string(from: currentDate)
Text("\(dateTimeString)")
.background(Color.black)
.foregroundColor(Color.white)
.font(.custom("DIN Alternate-Bold", size: 30))
.multilineTextAlignment(.center)
let dateTimeString2 = PlaceholderView.CPClockWidgetEntryView.dateformatter.string(from: currentDay)
Text("\(dateTimeString2)")
.background(Color.black)
.foregroundColor(Color.white)
.font(.custom("DIN Alternate-Bold", size: 30))
.multilineTextAlignment(.center)
}
}
}
}
Hi all,
I'm getting a new warning which says:
init(kind:provider:placeholder:content:)' is deprecated: use init(kind:provider:content:) instead
Which I changed according to the above, then got:
Incorrect argument label in call (have 'kind:provider:content:_:', expected 'kind:provider:placeholder:content:')
Tried to look in the Widget docs and they aren't updated yet.
Thanks,
Dan Uff
Hi,
I am in the process of developing an add-on widget for one of my apps that must show a new date at midnight local time.
I've tried using the default widget code, and changing the line to:
let entry = SimpleEntry(date: entryDate)
entries.append(entry)
Could someone give me a "hint" on what to do?
Thanks,
Dan