• 締切済み

iosプログラムで背景色をコードで変更するには?

xcodeでiphone用のアプリを作りたいと思い、プログラミングをやっています。 ラベルボタンを押したら背景色を変更するようなプログラムをしたいと思っています。 class ViewController : UIViewController { @IBOutlet weak var textfield: UITextField! @IBAction func sayhello(sender: AnyObject) { textfield.text = "Hello world!" } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } このhello worldをやった時に作成したプロジェクトを使用して、ボタンを押したら背景を任意の色(今回は黒)に変えたいと思っています。 それでこのクラス関数内にMystorlyboardウィンドウから背景を"control"ボタンをクリックしながら @IBOutlet var background: UIView! というのを追加しました。 そして、押すと"hello world"とテキストボックスに表示するボタンの処理の中に background.backgroundColor = Black としてみたのですが、エラーが出てビルドが成功しません。 (エラー内容)”Use of unresolved identifier ''Blue' この場合どのようにコードを修正するべきでしょうか? どうぞ、ご教示頂きますよう、よろしくお願い致します。 (現在のコード内容) import UIKit class ViewController: UIViewController { @IBOutlet var background: UIView! @IBOutlet weak var textfield: UITextField! @IBAction func sayhello(sender: AnyObject) { textfield.text = "Hello world!" background.backgroundColor = Blue } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

みんなの回答

noname#247307
noname#247307
回答No.1

background.backgroundColor = Blue ↓ background.backgroundColor = UIColor.blueColor() これでどうでしょう。 ※念のため確認ですが、Swiftでいいんですね?

関連するQ&A

  • swift言語 Xcode

    アプリを作る勉強をしています。参考書通りやりましたが、警告が出てしまいます。 原因がわからず困っています。どなたか助けて頂けませんでしょうか?宜しくお願い致します。 ソースはこちらです。 import UIKit import MapKit class ViewController: UIViewController ,UITextFieldDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. inputText.delegate = self } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBOutlet weak var inputText: UITextField! @IBOutlet weak var dispMap: MKMapView! } func textFildShoouldReturn(_ textField: UITextField) -> Bool { textField.resignFirstResponder() let searchKeyword = textField.text print(searchKeyword) ⇦ここに警告が出ます。 return true

  • swift初心者で、計算機を作っています

    swiftで計算機を作っています。 しかし、エラーが出てしまいます nilを代入するのがいけないらしいことは分かったのですが、ではどうしたらよいのかいろいろ調べていろいろ行ったのですが(変数への代入をボタンの関数内したり、変数宣言をstring?にしたり、計算にnumberBox.textを直接キャストしたものを用いる、などなど)、どうしても治りません。 この記述をこう直せばいい、という回答をお願いします。 import UIKit class ViewController: UIViewController { @IBOutlet weak var result: UILabel! @IBOutlet weak var numberBox1: UITextField! @IBOutlet weak var numberBox2: UITextField! var num1:String = "" var num2 = 0 var num3:String = "" var num4 = 0 var res = 0 @IBOutlet weak var button1: UIButton! @IBAction func button1(sender: AnyObject) { add() } @IBOutlet weak var button2: UIButton! @IBAction func button2(sender: AnyObject) { sub() } @IBOutlet weak var button3: UIButton! @IBAction func button3(sender: AnyObject) { mul() } @IBOutlet weak var button4: UIButton! @IBAction func button4(sender: AnyObject) { div() } override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. result.text = "計算結果" num1 = numberBox1.text! num2 = Int(num1)! num3 = numberBox2.text! num4 = Int(num3)! button1.setTitle("+", forState: .Normal) button2.setTitle("-", forState: .Normal) button3.setTitle("✖️", forState: .Normal) button4.setTitle("➗", forState: .Normal) } func add(){ res = num2 + num4 result.text = String(res) } func sub(){ res = num2 - num4 result.text = String(res) } func mul(){ res = num2 * num4 result.text = String(res) } func div(){ res = num2 / num4 result.text = String(res) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } } エラーメッセージ fatal error: unexpectedly found nil while unwrapping an Optional value (lldb) 回答をよろしくお願いします

    • ベストアンサー
    • Swift
  • swift データの保存、読み込みについて

    swiftのデータ保存と読み込みについて学習しています。 saveボタンを押すとテキストフィールドの文字が保存され、switchボタンを押すと保存された文字列が表示され、文字列が表示されている場合はその文字列を消去するプログラムを書いたのですが、実行してみるとデータ保存がうまくいっていないようでした。 どこに問題があるのでしょうか。回答をお願いします。 以下ソースコードです import UIKit class ViewController: UIViewController { @IBOutlet weak var word1: UITextField! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func save1(sender: AnyObject) { let ud1a = NSUserDefaults.standardUserDefaults() ud1a.setObject(word1.text, forKey: "saveText1") } @IBAction func switch1(sender: AnyObject) { let ud1b = NSUserDefaults.standardUserDefaults() if(word1.text == nil){ var loadText1:String! = ud1b.stringForKey("saveText1") word1.text = loadText1 } else{ word1.text = nil } }

  • iOSシュミレーターで表示されません

    iOSのプログラミングを始めたばかりの者です。 本を読み、下記の通りにプログラミングをしましたが、iOSシュミレータで全く表示されません。 どうしてなのか、お知恵を拝借出来ませんでしょうか? XCodeは、4.6.3で、MacBookは10.8.5です。 宜しくお願い申し上げます。 -------------------------------------------------------------------------------------------------------- #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. NSLog(@"Hello,World!"); } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } @end

    • ベストアンサー
    • Mac
  • swiftでOCRを利用したサンプルコードを書いて

    http://blog.isana.net/2014/08/ios.html 上記サイトを参考にobjective-Cをswiftに書き換えているのですが、どうしてもエラーが取れない場所があり、困っています。以下に記述するので、回答をお願いします。 import UIKit class ViewController: UIViewController,UIImagePickerControllerDelegate, UINavigationControllerDelegate { @IBOutlet weak var Textview: UITextView! @IBOutlet weak var Imageview: UIImageView! override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } @IBAction func Camera(sender: AnyObject) { var imagePickerController: UIImagePickerController = UIImagePickerController() //デリゲート指定 imagePickerController.delegate = self //トリミング指定 imagePickerController.allowsEditing = true //カメラの有無確認 if UIImagePickerController.isCameraDeviceAvailable(UIImagePickerControllerCameraDevice.Rear){ //カメラ指定 imagePickerController.sourceType = .Camera } else { //アルバム指定 imagePickerController.sourceType = .SavedPhotosAlbum } //コントローラ起動 self.presentViewController(imagePickerController, animated: true, completion: nil) } func ImagePickerController(picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [NSObject : AnyObject]) { /*ここから //イメージをメモリに保存 var selectedImage:UIImage self.selectedImage = info objectForKey:UIImagePickerControllerEditedImage //イメージビューに画像をセット self.Imageview.image = self.selectedImage ここ*/ //親ビューに戻る self.dismissViewControllerAnimated(true, completion: nil) //テキストを空に self.Textview.text = nil //インジケータ開始 var spinner: UIActivityIndicatorView = UIActivityIndicatorView(activityIndicatorStyle: UIActivityIndicatorViewStyle.Gray) spinner.center = CGPointMake(160, 240) spinner.hidesWhenStopped = true view.addSubview(spinner) spinner.startAnimating() //OCR実行 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), { var tesseract: Tesseract = Tesseract(language: "eng") tesseract.image = selectedImage tesseract.recognize() dispatch_async(dispatch_get_main_queue(), { self.Textview.text = tesseract.recognizedText spinner.stopAnimating() }) }) } } コメントアウトで示した部分の書き換えがどうしてもわからないです。 また、エラーが出てないだけでうまく動作がしないと思われる部分があれば、教えていただけると助かります。 回答宜しくお願いします。

  • swiftでストップウォッチに計算機能を追加

    swiftでストップウォッチアプリを作りました。 そのアプリに以下の機能を追加しようと思います。 一つの作業が完了するまでの時間(秒)を計測した上で、 その時間をもとに1時間あたりではいくつの作業が完了するのか、 計算して画面に表示させる機能。 (計算式:3600 / 計測した秒数 = 1時間あたりの作業数) どのように書けば、上記のような機能を追加できるでしょうか? 現状のソースコードは以下のようになります。 import UIKit class ViewController: UIViewController { @IBOutlet weak var timerLabel: UILabel! @IBOutlet weak var startButton: UIButton! @IBOutlet weak var stopButton: UIButton! @IBOutlet weak var resetButton: UIButton! @IBOutlet weak var page: UILabel! var startTime: NSTimeInterval? = nil var timer: NSTimer? var elapsedTime: Double = 0.0 override func viewDidLoad() { super.viewDidLoad() setButtonEnabled(true, stop: false, reset: false) // Do any additional setup after loading the view, typically from a nib. } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func setButtonEnabled(start:Bool, stop:Bool, reset:Bool) { self.startButton.enabled = start self.stopButton.enabled = stop self.resetButton.enabled = reset } func update() { if let t = self.startTime { let time: Double = NSDate.timeIntervalSinceReferenceDate() - t + self.elapsedTime let sec: Int = Int(time) let msec: Int = Int((time - Double(sec)) * 100.0) self.timerLabel.text = NSString(format: "%02d:%02d:%02d", sec/60, sec%60, msec) as String } } @IBAction func startTimer(sender: AnyObject) { setButtonEnabled(false, stop: true, reset: false) self.startTime = NSDate.timeIntervalSinceReferenceDate() // 2001/1/1 0:0:0 self.timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: Selector("update"), userInfo: nil, repeats: true) } @IBAction func stopTimer(sender: AnyObject) { setButtonEnabled(true, stop: false, reset: true) if let t = self.startTime { self.elapsedTime += NSDate.timeIntervalSinceReferenceDate() - t self.timer?.invalidate() self.timer = nil } } @IBAction func resetTimer(sender: AnyObject) { setButtonEnabled(true, stop: false, reset: false) self.elapsedTime = 0.0 self.startTime = nil self.timerLabel.text = "00:00:00" } }

    • ベストアンサー
    • Swift
  • Swiftについて教えてください

    タイマー処理をしようと以下のようにしたのですが、 Cannot invoke 'scheduledTimerWithTimeInterval' with an argument list of type '(Float, target: ViewController, selector: String, userInfo: nil, repeats: Bool)'というエラーがでます。 Floatの部分に直接、小数を記述するとエラーが消えるのですが、self.Intervalなど変数で指定できないのでしょうか? import UIKit class ViewController: UIViewController { // var Interval:Float = 1.0 // var timer = NSTimer() override func viewDidLoad() { super.viewDidLoad() //タイマー開始 self.start() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } //スライドショーを開始する func start(){ //タイマー定義 self.timer = NSTimer.scheduledTimerWithTimeInterval(self.Interval, target: self, selector: "next:", userInfo: nil, repeats: true) } //次へ func next(timer:NSTimer){ println("次へ") } }

    • ベストアンサー
    • Swift
  • 【iOS】pickerViewを隠すには?

    pickerViewを、画面のどこかをタップすることで隠すには どのようにすればよろしいでしょうか。 現在のコードです。 TextFieldの代わりにピッカーを出すという実装です。 ヘッダー @property(nonatomic,weak)IBOutlet UITextField *textField; @property(nonatomic,strong)UIPickerView *pickerView; @property(nonatomic,strong)NSArray *items; メイン - (void)viewDidLoad { self.items = @[@"A",@"B",@"C",@"D"]; self.pickerView = [[UIPickerView alloc]init]; self.pickerView.dataSource = self; self.pickerView.delegate = self; self.pickerView.showsSelectionIndicator = YES; self.textField.inputView = self.pickerView; [super viewDidLoad]; } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; } - (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView{ return 1; } - (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component{ return [self.items count]; } - (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component{ return [self.items objectAtIndex:row]; } - (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component{ self.textField.text = [self.items objectAtIndex:row]; } - (IBAction)pressHide:(id)sender{ [self.textField resignFirstResponder]; }

  • Swiftについて教えてください

    viewのタップを検知したいと思い以下のようにし、ビルドには成功するのですが、シミュレーターでクリックすると落ちてしまいます。terminating with uncaught exception of type NSExceptionと表示されるので、これで検索したのですが、解決に至りませんでした。 回答よろしくお願いします。swift 1.2です。 import UIKit class ViewController: UIViewController,UIGestureRecognizerDelegate { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. /* シングルタップ */ let tapGesture = UITapGestureRecognizer(target: self, action: "myView_Tapped:") // デリゲートをセット tapGesture.delegate = self // ビューにジェスチャーを追加 self.view.addGestureRecognizer(tapGesture) func myView_Tapped(sender: UITapGestureRecognizer){ // 処理 println("タップ") } } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } }

    • ベストアンサー
    • Swift
  • Swiftについて教えてください

    カメラロールにある写真をUICollectionViewに読み込み表示させようと思い、いろいろ調べながら下記のようにしてみたのですが、表示されません。swiftでALAssetをUICollectionViewで表示させるなどのやり方を調べてみたのですが、わかりませんでした。(英語のサイトなどにあったかもしれませんが…)swiftでALAssetをUICollectionViewで表示させかた教えてください。 import UIKit import AssetsLibrary class ViewController: UIViewController, UICollectionViewDataSource, UICollectionViewDelegate { var assets : NSMutableArray = [] var groups = ALAssetsGroup() override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. self.groups.enumerateAssetsUsingBlock({ (asset: ALAsset!, index: Int, stop: UnsafeMutablePointer<ObjCBool>) -> Void in if asset != nil { self.assets.insertObject(asset!, atIndex: 0) } }) } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning() // Dispose of any resources that can be recreated. } func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return self.assets.count; } func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell { var cell = collectionView.dequeueReusableCellWithReuseIdentifier("Cell", forIndexPath: indexPath)as! UICollectionViewCell let asset :ALAsset = self.assets[indexPath.item] as! ALAsset; (cell.viewWithTag(1) as! UIImageView).image = UIImage(CGImage: asset.thumbnail().takeUnretainedValue()) return cell }

    • ベストアンサー
    • Swift

専門家に質問してみよう