Форум программистов, компьютерный форум CyberForum.ru

Xamarin & UITableViewCell - Xamarin

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование iOS/iPhone Игра под iOS http://www.cyberforum.ru/xamarin/thread940421.html
Использую Box2d и Cocos2d. На экране есть несколько объектов. При касании на экран нужно определить попали ли вы на объект, если да, то нужно перемещать этот объект до окончания касания, если нет, то ничего не происходит.
Программирование iOS/iPhone HTTP авторизация Такая зада, есть web-сервис на sharePoint от Microsoft. Я обращаюсь к нему через http и получаю в ответ xml. Но это в теории, на практике же еще требуется авторизация стандартным способом (login/password). Поясните пожалуйста новичку как можно подробнее, как это реализуется? На данный момент есть такой код. Помогите пожалуйста реализовать аутентификацию. NSString *urlAsString =... http://www.cyberforum.ru/xamarin/thread940225.html
Программирование iOS/iPhone Хочу заказать написание программы для iPhone
Нужно написать небольшую программу для iPhone/iPad. Вкратце: В настройках программы задаются URL и пароль, программа должна скачать файл по HTTP, расшифровать его (RC4) этим паролем, отпарсить получившийся XML и показать его на экране в листбоксе. Подробное техзадание высылается по запросу на job собака sushko точка ru. Пожалуйста, пишите вменяемую тему письма, например, "программа для...
Обновить содержимое label Программирование iOS/iPhone
Народ. Как обновить текст в метке (label)? Для значений таблицы есть , а как обновить текст label? Например после редактирования
Программирование iOS/iPhone Разработчик игры на iOS ищет художника http://www.cyberforum.ru/xamarin/thread939767.html
Доброе время суток всем. На данный момент я занимаюсь разработкой игры для iOS и Android. Игра выходит достаточно интересная и увлекательная. Сейчас уже готово 80% прототипа (технической части, без графики звуков и прочего). Естественно покажу и расскажу все художнику. Почта rexona222@yandex.ru
Программирование iOS/iPhone SpriteKit Есть ли док-я или видео, примеры? подробнее

Показать сообщение отдельно
Auron
2 / 2 / 0
Регистрация: 11.05.2013
Сообщений: 99
20.08.2013, 14:37  [ТС]     Xamarin & UITableViewCell
вот класс History Screen
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
namespace testiOS
{
    public class TableSource : UITableViewSource
    {
        string[] tableItems;
        string cellIdentifier = "TableCell";
        public UITableViewCell cell;
        PostScreen postScreen = new PostScreen ();
 
        public TableSource(string[] items)
        {
            tableItems = items;
        }
 
        public override int RowsInSection(UITableView tableView, int section)
        {
            return tableItems.Length;
        }
 
        public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
        {
            new UIAlertView("Row Selected", tableItems[indexPath.Row], null, "OK", null).Show();
            tableView.DeselectRow (indexPath, true); // normal iOS behaviour is to remove the blue highlight
        }
 
        public override UITableViewCell GetCell(UITableView tableView, MonoTouch.Foundation.NSIndexPath indexPath)
        {
            postScreen = new PostScreen ();
            cell = tableView.DequeueReusableCell (cellIdentifier);
 
            // if there are no cells to reuse, create a new one
            if (cell == null)
                cell = new UITableViewCell (UITableViewCellStyle.Default, cellIdentifier);
                cell.TextLabel.Text = tableItems[indexPath.Row];
                cell.TextLabel.Lines = 0;
                cell.TextLabel.LineBreakMode = UILineBreakMode.WordWrap ;
            if (postScreen.flagApprove == true) {
                cell.TextLabel.TextColor = UIColor.Red;
                Console.WriteLine ("HSflagApprove = " + postScreen.flagApprove.ToString());
            } else {
                Console.WriteLine ("HSflagApprove = "  + postScreen.flagApprove.ToString());
            }
 
                return cell;
        }
    }
 
    public partial class HistoryScreen : UIViewController
    {
        public HistoryScreen () : base ("HistoryScreen", null)
        {
            this.Title = "Hstory";
        }
 
        public override void DidReceiveMemoryWarning ()
        {
            // Releases the view if it doesn't have a superview.
            base.DidReceiveMemoryWarning ();
            // Release any cached data, images, etc that aren't in use.
        }
 
        public void myTable()
        {
            UITableView table;
 
 
            table = new UITableView(View.Bounds); // defaults to Plain style
            string[] tableItems = new string[] {
                "Vegetables",
                "Fruits",
                "Flower Buds",
                "Legumes",
                "Bulbs",
                "Tubers",
                "Vegetables2",
                "Fruits2",
                "Flower Buds2",
                "Legumes2",
                "Bulbs2",
                "Tubers2",
                "Vegetables3",
                "Fruits3",
                "Flower Buds3",
                "Legumes3",
                "Bulbs3",
                "Tubers3"
            };
            table.Source = new TableSource (tableItems);
            Add (table);
        }
 
 
 
        public override void ViewDidLoad ()
        {
            base.ViewDidLoad ();
            myTable ();
 
            //switchApproveDontApprove ();
            // Perform any additional setup after loading the view, typically from a nib.
        }
    }
}


а это PostScreen
Кликните здесь для просмотра всего текста

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
using System.Collections.Generic;
 
namespace testiOS
{
    public partial class PostScreen : UIViewController
    {
        bool flagFacebook = false, flagTwitter = false, flagLinkedIn = false;
        List<string> comment_views = new List<string>();
        public bool flagApprove;
    
        public PostScreen () : base ("PostScreen", null)
        {
            this.Title = "Approve";
        }
 
        public override void DidReceiveMemoryWarning ()
        {
            // Releases the view if it doesn't have a superview.
            base.DidReceiveMemoryWarning ();
            // Release any cached data, images, etc that aren't in use.
        }
 
        public void btnClickFB()
        {
            //Default Image Facebook
            btnFaceBook.SetImage (UIImage.FromFile ("facebook_inactive_256x256.png"), UIControlState.Normal);
            btnFaceBook.TouchUpInside += (object sender, EventArgs e) => {
                if (flagFacebook) {
                    flagFacebook = false;
                    btnFaceBook.SetImage (UIImage.FromFile ("facebook_inactive_256x256.png"), UIControlState.Normal);
                    } else {
                    btnFaceBook.SetImage (UIImage.FromFile ("facebook_active_256x256.png"), UIControlState.Normal);
                    flagFacebook = true;
                }
            };
        }
 
        public void btnClickTW()
        {
            //Default Image Twitter
            btnTwitter.SetImage (UIImage.FromFile ("twitter_inactive_256x256.png"), UIControlState.Normal);
            btnTwitter.TouchUpInside += (object sender, EventArgs e) => {
                if (flagTwitter) {
                    flagTwitter = false;
                    btnTwitter.SetImage (UIImage.FromFile ("twitter_inactive_256x256.png"), UIControlState.Normal);
                } else {
                    btnTwitter.SetImage (UIImage.FromFile ("twitter_active_256x256.png"), UIControlState.Normal);
                    flagTwitter = true;
                }
            };
        }
 
        public void btnClickLI()
        {
            //Default Image LinkedIn
            btnLinkedIn.SetImage (UIImage.FromFile ("linkedin_inactive_256x256.png"), UIControlState.Normal);
            btnLinkedIn.TouchUpInside += (object sender, EventArgs e) => {
                if (flagLinkedIn) {
                    flagLinkedIn = false;
                    btnLinkedIn.SetImage (UIImage.FromFile ("linkedin_inactive_256x256.png"), UIControlState.Normal);
                } else {
                    btnLinkedIn.SetImage (UIImage.FromFile ("linkedin_active.png"), UIControlState.Normal);
                    flagLinkedIn = true;
                }
            };
        }
 
        //Incoming Message(Posting App)
        public void incomingMessage()
        {
            UILabel postMessage = new UILabel (new RectangleF (15, 5, 742, 150));
            postMessage.BackgroundColor = UIColor.White;
            View.AddSubview (postMessage);
        }
 
        //Switcher Approve / Don't Approve
        public void switchApproveDontApprove()
        {
            UILabel myText = new UILabel (new RectangleF (100, 325, 135, 20));
            myText.Text = "Don't Approve";
            Console.WriteLine("FlagApprove = " + flagApprove.ToString());
            myText.BackgroundColor = UIColor.White;
 
            UISwitch mySwitch = new UISwitch(new RectangleF(10, 325, 20, 50));
            mySwitch.ThumbTintColor = UIColor.White;
            mySwitch.OnTintColor = UIColor.Green;
            mySwitch.TintColor = UIColor.Red;
 
            mySwitch.TouchUpInside += (object sender, EventArgs e) => {
                if(mySwitch.On) {
                    flagApprove = true;
                    myText.Text = "Approve";
                    Console.WriteLine("PSflagApprove = " + flagApprove.ToString());
                }else{
                    flagApprove = false;
                    myText.Text = "Don't Approve";
                    Console.WriteLine("PSflagApprove = " + flagApprove.ToString());
                }
            };
            View.AddSubview (mySwitch);
            View.AddSubview (myText);
        }
 
        //Add Comment
        public void AddCommentMessage()
        {
            string myUser;
            string myMessage;
 
            myUser = new NSUserDefaults ().StringForKey ("userName");
            myMessage = postView.Text;
 
            comment_views.Add (myUser + "\n" + DateTime.Now.ToString () + "\n" + myMessage);
 
            cellComment.Source = new TableSource(comment_views.ToArray());
        }
 
        //Loading Avatar Image
        public void loadAvatar()
        {
            UIImageView avatar = new UIImageView (UIImage.FromFile("avatar.jpg"));
            avatar.Frame = new RectangleF (650, 290, avatar.Image.CGImage.Width, avatar.Image.CGImage.Height);
            View.AddSubview (avatar);
        }
 
        public override void ViewDidLoad ()
        {
            View.BackgroundColor = UIColor.White;
            //tbs.cell = new UITableViewCell ();
 
            incomingMessage ();
            switchApproveDontApprove ();
 
            base.ViewDidLoad ();
            // Perform any additional setup after loading the view, typically from a nib.
            postView.Layer.BorderWidth = 0.5f;
 
            btnClickFB();
            btnClickTW();
            btnClickLI();
 
            loadAvatar ();
 
            // Comment Setting
            btnComment.AddGestureRecognizer(new UILongPressGestureRecognizer());
            var tapRecognizerComment = new UITapGestureRecognizer();
            tapRecognizerComment.AddTarget(() =>
                                          {
                AddCommentMessage();
                cellComment.ReloadData();
                //method
            });
            tapRecognizerComment.NumberOfTapsRequired = 1;
            this.btnComment.AddGestureRecognizer(tapRecognizerComment); 
        }
    }
}


Добавлено через 1 минуту
на форме PostScreen создается uiswitch ввели что то в текстовое поле переключили switch он выводит в таблицу цвет красный переключили еще раз он выводит в таблицу этот же текст, но зеленым)

Добавлено через 2 часа 18 минут
сделал) но есть вопросик как указать "изменить цвет текста у определенной ячейки"? у UITableViewCell
 
Текущее время: 13:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru