2015-06-30 71 views
0

我正在用Xamarin構建我的第一個應用程序。我創建了一個名爲reord_overlay的UIView。我想將它設置爲viewDidLoad中後隱藏:如何設置UIView隱藏在Xamarin中

record_overlay.Hidden = true; 

我得到的是有關

../VoYo/iOS/ViewController.designer.cs(27,27): Error CS0102: The type `VoYo.iOS.ViewController' already contains a definition for `recording' (CS0102) (VoYo.iOS) 

錯誤我怎樣才能視圖設置爲隱藏?

錯誤說,這是在我的ViewController.designer.cs文件:

// WARNING 
// 
// This file has been generated automatically by Xamarin Studio from the outlets and 
// actions declared in your storyboard file. 
// Manual changes to this file will not be maintained. 
// 
using Foundation; 
using System; 
using System.CodeDom.Compiler; 
using UIKit; 

namespace VoYo.iOS 
{ 
    [Register ("ViewController")] 
    partial class ViewController 
    { 
     [Outlet] 
     UIKit.UIButton Button { get; set; } 

     [Outlet] 
     [GeneratedCode ("iOS Designer", "1.0")] 
     UIView record_overlay { get; set; } 

     [Outlet] 
     [GeneratedCode ("iOS Designer", "1.0")] 
     UIActivityIndicatorView recording { get; set; } 

     [Outlet] 
     [GeneratedCode ("iOS Designer", "1.0")] 
     UIActivityIndicatorView recording { get; set; } 

     [Outlet] 
     [GeneratedCode ("iOS Designer", "1.0")] 
     UITextView Voice { get; set; } 

     void ReleaseDesignerOutlets() 
     { 
      if (record_overlay != null) { 
       record_overlay.Dispose(); 
       record_overlay = null; 
      } 
      if (recording != null) { 
       recording.Dispose(); 
       recording = null; 
      } 
      if (recording != null) { 
       recording.Dispose(); 
       recording = null; 
      } 
      if (Voice != null) { 
       Voice.Dispose(); 
       Voice = null; 
      } 
     } 
    } 
} 

我的代碼

using System; 

using UIKit; 

namespace VoYo.iOS 
{ 
    public partial class ViewController : UIViewController 
    { 
     //int count = 1; 

     public ViewController (IntPtr handle) : base (handle) 
     {  
     } 


     public override void ViewDidLoad() 
     { 
      base.ViewDidLoad(); 

      // Code to start the Xamarin Test Cloud Agent 
      #if ENABLE_TEST_CLOUD 
      Xamarin.Calabash.Start(); 
      #endif 

      // Perform any additional setup after loading the view, typically from a nib. 
      Button.AccessibilityIdentifier = "myButton"; 
      string[] countries = {"Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", "Anguilla", "Antarctica", "Antigua and Barbuda", "Argentina", "Armenia", "Aruba", "Australia", "Austria", "Azerbaijan", "Bahamas", "Bahrain", "Bangladesh", "Barbados", "Belarus", "Belgium", "Belize", "Benin", "Bermuda", "Bhutan", "Bolivia", "Bosnia and Herzegowina", "Botswana", "Bouvet Island", "Brazil", "British Indian Ocean Territory", "Brunei Darussalam", "Bulgaria", "Burkina Faso", "Burundi", "Cambodia", "Cameroon", "Canada", "Cape Verde", "Cayman Islands", "Central African Republic", "Chad", "Chile", "China", "Christmas Island", "Cocos (Keeling) Islands", "Colombia", "Comoros", "Congo", "Congo, the Democratic Republic of the", "Cook Islands", "Costa Rica", "Cote d'Ivoire", "Croatia (Hrvatska)", "Cuba", "Cyprus", "Czech Republic", "Denmark", "Djibouti", "Dominica", "Dominican Republic", "East Timor", "Ecuador", "Egypt", "El Salvador", "Equatorial Guinea", "Eritrea", "Estonia", "Ethiopia", "Falkland Islands (Malvinas)", "Faroe Islands", "Fiji", "Finland", "France", "France Metropolitan", "French Guiana", "French Polynesia", "French Southern Territories", "Gabon", "Gambia", "Georgia", "Germany", "Ghana", "Gibraltar", "Greece", "Greenland", "Grenada", "Guadeloupe", "Guam", "Guatemala", "Guinea", "Guinea-Bissau", "Guyana", "Haiti", "Heard and Mc Donald Islands", "Holy See (Vatican City State)", "Honduras", "Hong Kong", "Hungary", "Iceland", "India", "Indonesia", "Iran (Islamic Republic of)", "Iraq", "Ireland", "Israel", "Italy", "Jamaica", "Japan", "Jordan", "Kazakhstan", "Kenya", "Kiribati", "Korea, Democratic People's Republic of", "Korea, Republic of", "Kuwait", "Kyrgyzstan", "Lao, People's Democratic Republic", "Latvia", "Lebanon", "Lesotho", "Liberia", "Libyan Arab Jamahiriya", "Liechtenstein", "Lithuania", "Luxembourg", "Macau", "Macedonia, The Former Yugoslav Republic of", "Madagascar", "Malawi", "Malaysia", "Maldives", "Mali", "Malta", "Marshall Islands", "Martinique", "Mauritania", "Mauritius", "Mayotte", "Mexico", "Micronesia, Federated States of", "Moldova, Republic of", "Monaco", "Mongolia", "Montserrat", "Morocco", "Mozambique", "Myanmar", "Namibia", "Nauru", "Nepal", "Netherlands", "Netherlands Antilles", "New Caledonia", "New Zealand", "Nicaragua", "Niger", "Nigeria", "Niue", "Norfolk Island", "Northern Mariana Islands", "Norway", "Oman", "Pakistan", "Palau", "Panama", "Papua New Guinea", "Paraguay", "Peru", "Philippines", "Pitcairn", "Poland", "Portugal", "Puerto Rico", "Qatar", "Reunion", "Romania", "Russian Federation", "Rwanda", "Saint Kitts and Nevis", "Saint Lucia", "Saint Vincent and the Grenadines", "Samoa", "San Marino", "Sao Tome and Principe", "Saudi Arabia", "Senegal", "Seychelles", "Sierra Leone", "Singapore", "Slovakia (Slovak Republic)", "Slovenia", "Solomon Islands", "Somalia", "South Africa", "South Georgia and the South Sandwich Islands", "Spain", "Sri Lanka", "St. Helena", "St. Pierre and Miquelon", "Sudan", "Suriname", "Svalbard and Jan Mayen Islands", "Swaziland", "Sweden", "Switzerland", "Syrian Arab Republic", "Taiwan, Province of China", "Tajikistan", "Tanzania, United Republic of", "Thailand", "Togo", "Tokelau", "Tonga", "Trinidad and Tobago", "Tunisia", "Turkey", "Turkmenistan", "Turks and Caicos Islands", "Tuvalu", "Uganda", "Ukraine", "United Arab Emirates", "United Kingdom", "United States", "United States Minor Outlying Islands", "Uruguay", "Uzbekistan", "Vanuatu", "Venezuela", "Vietnam", "Virgin Islands (British)", "Virgin Islands (U.S.)", "Wallis and Futuna Islands", "Western Sahara", "Yemen", "Yugoslavia", "Zambia", "Zimbabwe"}; 
      record_overlay.Hidden = true; 
      Button.TouchUpInside += delegate { 
       //var title = string.Format ("{0} clicks!", count++); 
       //Button.SetTitle (title, UIControlState.Normal); 
       Random rnd = new Random(); 
       int length = countries.Length; 
       int i = rnd.Next(0, length); 
       Voice.Text = "You sound like someone from "+countries[i]; 
      }; 
     } 

     public override void DidReceiveMemoryWarning() 
     {  
      base.DidReceiveMemoryWarning();   
      // Release any cached data, images, etc that aren't in use.  
     } 
    } 
} 
+0

你得到的錯誤與「隱藏=真」無關。這聽起來像你有一個控制聲明瞭兩次,無論是在你的代碼背後,還是在你的UI(storyboard或xib)中。 – Jason

+0

你能用更多的代碼編輯你的問題嗎? –

+0

我只在添加該行時出現錯誤。否則,應用程序將運行在我的iPhone上。我認爲你可能是正確的,導致多重聲明。我試圖找出更改隱藏屬性的正確語法。 –

回答

0

ViewController.designer.cs

取下2宣佈UIActivityIndicatorView recording { get; set; } 之一請務必重新檢查recordin的任何出口參考剩餘物g UIActivityIndi​​catorView

0

record_overlay.Hidden = true;沒有任何關係。

只要打開在Xcode Interface Builder中的廈門國際銀行,取出UIActivityIndicatorView recording出口的引用,開放ViewController.h和刪除屬性,像這樣:

@property (nonatomic, retain) IBOutlet UIActivityIndicatorView *recording;

你可能有2點重複的行,只是刪除和添加口再次。