11

スワイプしてボタンをクリックするとアイテムを削除できるクラシックなTableViewがあります。セルにカスタムの背景を設定する方法は知っていますが、カスタムのフォントと色を設定する方法がわかりません。

ご協力ありがとう御座います!

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) -> [AnyObject]?  {

    var deleteAction = UITableViewRowAction(style: UITableViewRowActionStyle.Default, 
                   title: "Delete", 
                   handler: { 
                      (action:UITableViewRowAction!, indexPath:NSIndexPath!) -> Void in
                           println("Delete button clicked!")
                   })

    deleteAction.backgroundColor = UIColor.redColor()

    return [deleteAction]
}
4

9 に答える 9

0

少なくともフォントの色を設定するために、これはうまくいくようです:

- (void)setupRowActionStyleForTableViewSwipes {
    UIButton *appearanceButton = [UIButton appearanceWhenContainedInInstancesOfClasses:@[[NSClassFromString(@"UITableViewCellDeleteConfirmationView") class]]];
    [appearanceButton setTitleColor:[UIColor lightGrayColor] forState:UIControlStateNormal];
}
于 2016-03-22T23:08:52.647 に答える
-1

このメソッドを使用して、1 つ (または複数、定義可能) のビュー コントローラーでのみ外観を変更できると思います。

    //create your attributes however you want to
    let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(UIFont.systemFontSize())] as Dictionary!            

   //Add more view controller types in the []
    UIButton.appearanceWhenContainedInInstancesOfClasses([ViewController.self])

これが役に立ったことを願っています。

于 2016-01-02T11:38:24.923 に答える
-1

役立つかもしれないいくつかのSwiftコードを次に示します。

func tableView(tableView: UITableView, editActionsForRowAtIndexPath indexPath: NSIndexPath) ->[AnyObject]? {

let attributes = [NSFontAttributeName: UIFont.systemFontOfSize(UIFont.systemFontSize())] as Dictionary!
UIButton.appearance().setAttributedTitle(NSAttributedString(string: "Your Button", attributes: attributes), forState: .Normal)

// Things you do...

}

これにより、アプリケーション内のすべてのボタンが操作されます。

于 2015-07-31T09:02:14.393 に答える
-18

カスタム フォントの使用方法

とても簡単です。

  1. まず、カスタム フォント ファイルをプロジェクトに含める必要があります。
  2. 次に、info.plist ファイルに移動し、「アプリケーションによって提供されるフォント」というキーを持つ新しいエントリを追加します。このエントリは配列でなければならないことに注意してください。
  3. 次に、これらのファイルの名前をこの配列の要素として追加します。

以上です!次に必要なのは、このように名前でフォントを使用することだけです

cell.textLabel.font = [UIFont fontWithName:@"FontName" size:16];

フォントの色を変更するには?

さらに簡単です。あなたに必要なのは

cell.textlabel.textcolor = UIColor.redColor()

編集:

あなたのケースでは、RowAction のフォントを変更したいと考えています。だから私は2つの解決策しか考えていません。使用する1つ[UIColor colorWithPatterImage:]

または[[UIButton appearance] setTitleColor:[UIColor orangeColor] forState:UIControlStateNormal];、RowAction にボタンが含まれているため、ユーザーが使用できます。

于 2015-03-14T15:39:28.807 に答える