2015-01-03 11 views
10

Swiftで私のUITableViewのセパレータスタイルを設定するにはどうすればよいですか?区切り記号を取り除いて、テーブルビューのセル間に灰色の線がないようにしたい。どんな提案も非常に高く評価されます。Swift - UITableViewセパレータスタイルを設定する

私は

self.tableView.setSeparatorStyle = UITableViewCellSeparatorStyle.None 

に迅速にこれを翻訳するために全力を試してみました。しかし、これはで

'(UITableView, numberOfRowsInSection: Int) -> Int' does not have a member named 'setSeparatorStyle' 

エラーを提示しObjective-Cの

[self.tableView setSeparatorStyle:UITableViewCellSeparatorStyleNone] 

にこの方法を発見しましたリンゴのドキュメントは、これらの宣言を目的で指定しています-C

typedef enum : NSInteger { 


UITableViewCellSeparatorStyleNone , 
    UITableViewCellSeparatorStyleSingleLine , 
    UITableViewCellSeparatorStyleSingleLineEtched 
} UITableViewCellSeparatorStyle; 

なぜあなたはできない説明するために

答えて

28

をだから私は

override func tableView(tableView: UITableView, setSeparatorStyle style: NSInteger) -> NSInteger { 
    return UITableViewCellSeparatorStyleNone 
} 

を使用してスウィフトにそれを翻訳するために、再度試してみました。しかし、これはちょうどより多くのエラーをスローし、「未解決の識別子の使用は「UITableViewCellSeparatorStyleNone」 SwiftのsetSeparatorStyleを呼び出して、Objective-Cのどこからそのメソッドが来るのかを説明する必要があります。ヘッダー(UITableView.h)で検索すると、見つからないでしょう。宣言した唯一のものはこれです:

@property (nonatomic) UITableViewCellSeparatorStyle separatorStyle; 

setSeparatorStyle自動的にObjective-Cの内のプロパティのために生成セッターです。あなたはこのように、Objective-Cの中にプロパティを宣言しましょう:

@interface SomeClass: NSObject 

@property (nonatomic) id someProperty; 

@end 

自動的にゲッターはゲッターの名前であること、およびセッターがあることと、そのプロパティのセッターとゲッターメソッドが生成されますのObjective-C接頭辞はsetです。

ですから、このようにゲッターを呼び出すことができます。

[object someProperty]

そして、あなたはこのようにプロパティを設定することができます。今すぐ [object setSomeProperty:newValue]

、それはすべての偉大だが、呼び出すために短い方法がありますセッターとゲッター、すなわちのドット構文は次のようになります。

object.someproperty = newValue; // setter

とゲッター:スウィフトで今

object.someproperty // getter

、このsetSomePropety方法で、セッターのこの暗黙的に生成はもう存在しません。 Objective-Cはいつも変わったものだったので、Swiftはプロパティを設定して取得する統一された方法を紹介しています。 Swiftでは、プロパティを設定して取得する方法は1つだけあり、ドット構文を使用しています。これはObjective-Cのドット構文と同じです。

だから、実際にあなたの質問に答えるために、あなたはsetSeparatorStyleset一部を削除するには、これはあなたの新しいコードになります必要があります。

self.tableview.separatorStyle = UITableViewCellSeparatorStyle.none 

通常あなたがselfを記述する必要はありません、スウィフトは十分にスマートでありますあなたがスコープでtableViewという名前の1つの変数のみがあります場合は、

tableview.separatorStyle = UITableViewCellSeparatorStyle.none 

を書くことができ、スウィフトは何が来ることを実現するのに十分であってもスマートですので、self.tableViewを使用したい実現するために、代入演算子(等号、=)はおそらくセパレータスタイルなので、.noneと書くことができます。

tableview.separatorStyle = .none 
+2

グレートポスト! Swift4で.Noneの名前が.noneに変更されました – Vincent

+0

ありがとうございました!それは私を働いた。 – Raja

3

下のルック:

Attributes inspector > table view > separator これは、セパレータのスタイルを変える手助けやスウィフト2と3の表記を探している人のために完全に

+0

ありがとう、これも有効な解決策です – TimWhiting

5

それを削除する必要があります。

tableView.separatorStyle = UITableViewCellSeparatorStyle.None; 
+1

ありがとう!その3.0私は私も働いて迅速に3.0。 – Raja

1

私は以下を使用しました:

tableview.separatorStyle = .None 
関連する問題