<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B</id>
	<title>Xamarin.iOSで特定条件を満たすUIView派生物の一覧を取得する - 版の履歴</title>
	<link rel="self" type="application/atom+xml" href="https://monobook.org/w/index.php?action=history&amp;feed=atom&amp;title=Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B"/>
	<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&amp;action=history"/>
	<updated>2026-06-06T14:52:51Z</updated>
	<subtitle>このウィキのこのページに関する変更履歴</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://monobook.org/w/index.php?title=Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&amp;diff=13959&amp;oldid=prev</id>
		<title>Administrator: Administrator がページ「Xamarin.iOS/特定条件を満たすUIView派生物の一覧を取得する」を「Xamarin.iOSで特定条件を満たすUIView派生物の一覧を取得する」に移動しました</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&amp;diff=13959&amp;oldid=prev"/>
		<updated>2020-12-23T03:07:32Z</updated>

		<summary type="html">&lt;p&gt;Administrator がページ「&lt;a href=&quot;/wiki/Xamarin.iOS/%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&quot; class=&quot;mw-redirect&quot; title=&quot;Xamarin.iOS/特定条件を満たすUIView派生物の一覧を取得する&quot;&gt;Xamarin.iOS/特定条件を満たすUIView派生物の一覧を取得する&lt;/a&gt;」を「&lt;a href=&quot;/wiki/Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&quot; title=&quot;Xamarin.iOSで特定条件を満たすUIView派生物の一覧を取得する&quot;&gt;Xamarin.iOSで特定条件を満たすUIView派生物の一覧を取得する&lt;/a&gt;」に移動しました&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ja&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← 古い版&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;2020年12月23日 (水) 03:07時点における版&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;ja&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(相違点なし)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Administrator</name></author>
	</entry>
	<entry>
		<id>https://monobook.org/w/index.php?title=Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&amp;diff=7601&amp;oldid=prev</id>
		<title>153.220.4.222: ページの作成:「==概要== 個別に設定すると面倒なので、ビューコントローラーに貼られている特定のビューを一気に抽出して、まとめてイベン...」</title>
		<link rel="alternate" type="text/html" href="https://monobook.org/w/index.php?title=Xamarin.iOS%E3%81%A7%E7%89%B9%E5%AE%9A%E6%9D%A1%E4%BB%B6%E3%82%92%E6%BA%80%E3%81%9F%E3%81%99UIView%E6%B4%BE%E7%94%9F%E7%89%A9%E3%81%AE%E4%B8%80%E8%A6%A7%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B&amp;diff=7601&amp;oldid=prev"/>
		<updated>2015-10-08T02:59:00Z</updated>

		<summary type="html">&lt;p&gt;ページの作成:「==概要== 個別に設定すると面倒なので、ビューコントローラーに貼られている特定のビューを一気に抽出して、まとめてイベン...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==概要==&lt;br /&gt;
個別に設定すると面倒なので、ビューコントローラーに貼られている特定のビューを一気に抽出して、まとめてイベント設定などがしたいこともある。&lt;br /&gt;
&lt;br /&gt;
==実装==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
    public static class UIViewExtensions&lt;br /&gt;
    {&lt;br /&gt;
        public static IList&amp;lt;T&amp;gt; FindViews&amp;lt;T&amp;gt;(this UIView view, Func&amp;lt;T, bool&amp;gt; predicate = null) where T:UIView&lt;br /&gt;
        {&lt;br /&gt;
            var list = new List&amp;lt;T&amp;gt;();&lt;br /&gt;
            var cast = view as T;&lt;br /&gt;
&lt;br /&gt;
            if (cast != null)&lt;br /&gt;
            {&lt;br /&gt;
                if (predicate != null)&lt;br /&gt;
                {&lt;br /&gt;
                    if (predicate(cast))&lt;br /&gt;
                    {&lt;br /&gt;
                        list.Add(cast);&lt;br /&gt;
                    }&lt;br /&gt;
                }&lt;br /&gt;
                else&lt;br /&gt;
                {&lt;br /&gt;
                    list.Add(cast);&lt;br /&gt;
                }&lt;br /&gt;
            }&lt;br /&gt;
            foreach (var subView in view.Subviews)&lt;br /&gt;
            {&lt;br /&gt;
                var items = subView.FindViews&amp;lt;T&amp;gt;(predicate);&lt;br /&gt;
                list.AddRange(items);&lt;br /&gt;
            }&lt;br /&gt;
            return list;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
個人的にはUITextFieldでreturnボタンが押された際にキーボードを非表示にする処理を手抜きするのに使った。&lt;br /&gt;
[[ソース]]中のForEach拡張メソッドは誰もが用意しているといわれる非標準かつ定番の拡張メソッドなので[[ググって]]実装すること。&lt;br /&gt;
&amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
        public override void ViewDidLoad()&lt;br /&gt;
        {&lt;br /&gt;
            // return でキーボードを非表示&lt;br /&gt;
            this.View.FindViews&amp;lt;UITextField&amp;gt;().ForEach(view =&amp;gt; &lt;br /&gt;
                view.ShouldReturn += (textfield) =&amp;gt; &lt;br /&gt;
                    textfield.ResignFirstResponder());&lt;br /&gt;
        }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==関連項目==&lt;br /&gt;
*[[.NET Framework/ForEach拡張メソッド]]&lt;br /&gt;
*[[Xamarin.iOS/フォーカスの当たってるUIView派生物を探す]]&lt;br /&gt;
&lt;br /&gt;
==参考文献==&lt;br /&gt;
{{reflist}}&lt;br /&gt;
&lt;br /&gt;
{{stub}}&lt;br /&gt;
&lt;br /&gt;
[[category:Xamarin.iOS]]&lt;/div&gt;</summary>
		<author><name>153.220.4.222</name></author>
	</entry>
</feed>