iOS-UITextFieldの外側をタッチしたときにキーボードを閉じる


461

ユーザーがの外側をタッチしたときにキーボードを非表示にする方法を知りたいのですがUITextField


8
ドミトリーは正解でした。これはジェスチャーの問題ではなく、ファーストレスポンダを辞任する問題です。Dmirtyの答えはまた、マーク、ナッティングとLeMarcheが推奨するソリューションであるのiOS 4の開発以降、第4章、83ページ
JWW

回答:


760

を追加UITapGestureRecogniserしてビューに割り当てる必要があります。次に、UITextFieldセレクターのresign firstレスポンダを呼び出します。

コード:

viewDidLoad

UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(dismissKeyboard)];

[self.view addGestureRecognizer:tap];

dismissKeyboardの場合:

-(void)dismissKeyboard 
{
    [aTextField resignFirstResponder];
}

aTextFieldキーボードを担当するテキストフィールドはどこですか)

Swift 3バージョンはそのように見えます

let tapGesture = UITapGestureRecognizer(target: self, action: #selector(self.dismissKeyboard (_:)))
self.view.addGestureRecognizer(tapGesture)

dismissKeyboardの場合

func dismissKeyboard (_ sender: UITapGestureRecognizer) {
    aTextField.resignFirstResponder()
}

6
これは機能しますが、ナビゲーションバーのボタンを無効にしたりクリックできないようにしたりすることもできます。これの回避策はありますか?
Parth Bhatt

137
私はより良いと思う[aTextField resignFirstResponder]だろう[self.view endEditing:YES];、それがテキストフィールドへの参照を必要としない、複数のテキストフィールドのために動作します
ジュリアンKról

90
だから、任意のメソッドを定義することなく、ワンライナーは、次のようになります[self.view addGestureRecognizer:[[UITapGestureRecognizer alloc] initWithTarget:self.view action:@selector(endEditing:)]];
スバス

8
@PartiaBhatt @qiaoyi [tap setCancelsTouchesInView:NO];の回答に従って追加しました。テーブルが行の選択に応答しないという問題がありました。5年後、私はこれが誰かを助けることを望みます。
トムハワード

7
スウィフトワンライナー: self.view.addGestureRecognizer(UITapGestureRecognizer(target: self.view, action: #selector(UIView.endEditing(_:))))
誤作動

176

私はいくつかの答えをつぶしました。

中に初期化されるivarを使用する viewDidLoad:

UIGestureRecognizer *tapper;

- (void)viewDidLoad
{
    [super viewDidLoad];
    tapper = [[UITapGestureRecognizer alloc]
                initWithTarget:self action:@selector(handleSingleTap:)];
    tapper.cancelsTouchesInView = NO;
    [self.view addGestureRecognizer:tapper];
}

現在編集しているものを閉じます。

- (void)handleSingleTap:(UITapGestureRecognizer *) sender
{
    [self.view endEditing:YES];
}

素晴らしい、それはUITableViewで動作します!! それは私の日を救います!補足として、[UIView endEditing:]ではなく[UITextField resignFirstResponder]を使用します。これは、UITextFieldが多く、新しいUITextFieldが表示されていてもendEditingが誤ったスクロール位置を与えるためです。
Dr.Luiji

1
UITapGestureRecognizerがビューに追加されることはないため、間違いです。

1
ここでcancelsTouchesInViewの目的は何ですか?
Adam Johns、

3
ここでcancelsTouchesInView = falseを追加しない場合、ビューで他のタイプのアイテムを選択することはできません。あなたのタップはジェスチャーレコグナイザーによって傍受されます。
HalR 2016年

104

これを確認してください。これが最も簡単な方法です。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
      [self.view endEditing:YES];// this will do the trick
}

または

このライブラリは、スクロールバーの自動スクロール、スペースをタップしてキーボードを非表示にするなどを処理します...

https://github.com/michaeltyson/TPKeyboardAvoiding


@Rameshはい、そうですが、そうではありません。UITableViewからサブクラスを作成し、そのクラス内でtouchesBeganメソッドを実装してから、endEditingメソッドを呼び出す必要があります。できます!新しく作成したクラスを使用して、nibでテーブルのクラスを設定することを忘れないでください。
Prasad De Zoysa 2013年

3
ユーザーがビュー上の他のコントロールをタッチしても、キーボードは非表示になりません。例:UIViewにUIButtonとUITextFieldがあります。UITextFieldをタップしてから、ボタンをタップします。この場合、キーボードは非表示になりません。
Jacob Dam

2
@JacobDamその通りです。目標は、aTextFieldの外部で何かが発生した場合にキーボードを非表示にするresignfirstresponderです。

88

このUITapGestureRecognizer方法を使用して問題が発生している人がいます。既存のボタンのタップ動作をそのままにしてこの機能を実現する最も簡単な方法は、@ Jensen2kの回答に1行だけ追加することです。

[tap setCancelsTouchesInView:NO];

これにより、既存のボタンが@Dmitry Sitnikovのメソッドを使用しなくても機能するようになりました。

それについてpropertyここで読んでください(を検索CancelsTouchesInView):UIGestureRecognizerクラスリファレンス

スクロールバーでどのように機能するかはわかりません。問題があったようですが、他の誰かが私と同じシナリオに遭遇するかもしれません。


3
また、を使用してビューの背面に背景画像がある場合はUIImageView、追加[imageView setUserInteractionEnabled:NO];して「クリックスルー」すると、このメソッドが機能します。
Paul Peelen

55

(インターフェイスビルダーで)のUIViewインスタンスを作成し、UIControlそのTouchUpInsideイベントをdismissKeyboardメソッドに接続することをお勧めします。このIBActionメソッドは次のようになります。

- (IBAction)dismissKeyboard:(id)sender {
    [aTextBox resignFirstResponder];
}

1
ありがとう!これは私にとってはうまくいきましたが、他の解決策はうまくいきませんでした。(UITapGestureRecognizerビュー内のボタンのタップを妨げる)。レスポンダーチェーンに混乱touchesEndedがあったため機能しませんでしたUIScrollView。)
jlstrecker '06 / 12/06

1
これはうまく機能しますが、キーボードを非表示にしたいものに追加する必要があります。テキストボックスに他の何かをタップしたときに最初のレスポンダーを自動的に辞任させる方法はありますか?
アイザックオーバーアッカー

4
UIViewをUIControlにする必要はありません。UIViewでユーザー操作が有効になっていることを確認してください。
Sofi Software LLC、

1
@SofiSoftwareLLCあなたの提案は私にとってうまくいきませんでした。User Interaction Enabledがチェックされている場合でも、UIControlにする必要がありました。
3カップ

1
StoryBoardを使用して、UIViewをUIControlに変更しました(作成した場合、UIViewサブクラスを選択していました)。うまくいきます。問題は発生していません。iOS8。
ToddB、2015

30

スウィフト4

UIViewControllerこの拡張メソッドを使って一度セットアップしてくださいviewDidLoad

override func viewDidLoad() {
    super.viewDidLoad()
    self.setupHideKeyboardOnTap()
}

をタップしてもキーボードは表示されなくなりNavigationBarます。

import UIKit
extension UIViewController {
    /// Call this once to dismiss open keyboards by tapping anywhere in the view controller
    func setupHideKeyboardOnTap() {
        self.view.addGestureRecognizer(self.endEditingRecognizer())
        self.navigationController?.navigationBar.addGestureRecognizer(self.endEditingRecognizer())
    }

    /// Dismisses the keyboard from self.view
    private func endEditingRecognizer() -> UIGestureRecognizer {
        let tap = UITapGestureRecognizer(target: self.view, action: #selector(self.view.endEditing(_:)))
        tap.cancelsTouchesInView = false
        return tap
    }
}

2
ブロ、あなたはそれを釘付けにした!! この答えは完璧で、本当に素晴らしいです、ありがとうございました。

28

SWIFTのバージョンは、これは(のような他の要素との組み合わせで動作しUIButton、または別UITextField):

override func viewDidLoad() {
    super.viewDidLoad()

    let tapper = UITapGestureRecognizer(target: self, action:#selector(endEditing))
    tapper.cancelsTouchesInView = false
    view.addGestureRecognizer(tapper)
}

1
ターゲットはでselfはなくself.view
EIキャプテンv2.0

1
ターゲットはself.viewである必要があります。そうしないと、上記のコードがクラッシュします。
Naga Mallesh Maddali 2015

canclesTouchesInView使用するのに便利なプロパティです。ありがとう。
JonSlowCN 2016年

古い習慣は死ぬ。そのセミコロンはここで何をしていますか?;)
Alexandre G.

@AlexandreG。確かに、特に私は一般的にコーディングをしているのでc#。参考:セミコロンは構文で許可されていますが、必要ありません。
Rob

17

これはどうですか:私はこれが古い記事であることを知っています。それは誰かを助けるかもしれません:)

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {  
    NSArray *subviews = [self.view subviews];
    for (id objects in subviews) {
        if ([objects isKindOfClass:[UITextField class]]) {
            UITextField *theTextField = objects;
            if ([objects isFirstResponder]) {
                [theTextField resignFirstResponder];
            }
        } 
    }
}

UITextFieldをチェックしなかったため、どの入力タイプでも機能します。問題はありません。
フランク

15

これは良い一般的なソリューションです:

Objective-C:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];    
}

迅速:

override func touchesBegan(touches: NSSet, withEvent event: UIEvent) {
    self.view.endEditing(true)
}

@icodebusterソリューションに基づく:https ://stackoverflow.com/a/18756253/417652


12

Swift 4ワンライナー

view.addGestureRecognizer(UITapGestureRecognizer(target: view, action: #selector(UIView.endEditing(_:))))

素晴らしいコードですが、これは削除機能を無効にします(-)
schellingerht

あなたは天才です!
Abhishek Bedi

10

これを行う最も簡単な(そして最良の)方法は、グローバルビューをサブクラス化し、hitTest:withEventメソッドを使用してタッチに耳を傾けることだと思います。キーボードのタッチは登録されていないため、hitTest:withEventは、タッチ/スクロール/スワイプ/ピンチ...どこか他の場所でタッチしてを呼び出したときにのみ呼び出されます[self endEditing:YES]

ビューの上部にあるボタンをクリックしても呼び出されないtouchesBeganため、これは使用するよりも優れtouchesBeganています。UITapGestureRecognizerたとえば、スクロールジェスチャーを認識できない場合よりも優れています。また、複雑で動的なユーザーインターフェイスでは、どこにも薄暗い画面を配置できないため、薄暗い画面を使用するよりも優れています。さらに、他のアクションをブロックすることはありません。外側のボタンを選択するために2回タップする必要はありません(の場合のようにUIPopover)。

また、を呼び出すよりも優れ[textField resignFirstResponder]ています。画面に多くのテキストフィールドがあるため、これはすべてのテキストフィールドで機能します。


残念ながら、これはUISearchBarの「X」がテキストをクリアするのを妨げているようです。
ハギー

1
このアプローチにはいくつかの問題があります。たとえば、テキストフィールドにフォーカスを失うことなく、スクロールビューをスクロールすることはできません。より複雑なシナリオにはお勧めできません...個人的には、Dmitryのuicontrol-versionを好みます。SofiSoftwareのコメントによって拡張される可能性があります。
katzenhut 2013年

スクロールの1つの例は、メールアプリです。検索バーに入力してメールリストをスクロールすると、キーボードが閉じます。
Enzo Tran 2013

これは最良のアプローチであり、他のプロジェクトに対しても行っていました。
チャンドラマニ2018年


6

ビューがaに埋め込まれている場合はUIScrollView、以下を使用できます。

tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag;
tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeInteractive;

前者はテーブルビューがスクロールされるときにキーボードを画面外にアニメーション化し、後者は標準のメッセージアプリのようにキーボードを非表示にします。

これらはiOS 7.0以降で利用できます。


6

これは、XCode 6以降のストーリーボードを使用して行うことができます。


キーボードを非表示にするアクションを作成する

これを、ViewControllerが使用するクラスのヘッダーファイルに追加します。

@interface TimeDelayViewController : UIViewController <UITextFieldDelegate>

- (IBAction)dissmissKeyboardOnTap:(id)sender;

@end

次に、これを同じViewControllerの実装ファイルに追加します。

- (IBAction)dissmissKeyboardOnTap:(id)sender{
    [[self view]endEditing:YES];
}

これは、ストーリーボードシーン(つまりViewController)の「受信アクション」の1つになります。

ここに画像の説明を入力してください


アクションをユーザーイベントに接続する

次に、このアクションをキーボードをタッチするユーザージェスチャーに接続する必要があります。

重要-ストーリーボードに含まれている「UIView」をUIControlに変換して、イベントを受信できるようにする必要があります。ビューコントローラーシーン階層からビューを選択します。

ここに画像の説明を入力してください

...そしてそのクラスを変更します:

ここに画像の説明を入力してください

次に、シーンの「受信したアクション」の横にある小さな円からシーンの「空の」部分にドラッグします(実際には、「受信したアクション」をUIControlにドラッグしています)。アクションをフックすることができるイベントの選択が表示されます:

ここに画像の説明を入力してください

「内側を修正」オプションを選択します。これで、作成したIBActionを、キーボードをタッチするユーザーアクションにフックしました。ユーザーがキーボードをタップすると、非表示になります。

(注:アクションをイベントにフックするために、受信したアクションからビューコントローラー階層のUIControlに直接ドラッグすることもできます。階層では「コントロール」として表示されます。)


解決策と詳細な説明をありがとう。本当に役に立ちました。
Yongxiang Ruan

5

私があなたを正しく理解しtextfieldたなら、あなたはoutSideをタップしてキーボードを辞任したいのですが、あなたのの参照がありませんtextfield

これを試して;

  • グローバルなtextFieldを取り、それを呼び出しましょう reftextField
  • 次に、textFieldDidBeginEditing参照されるテキストフィールドを

    - (void) textFieldDidBeginEditing:(UITextField *)textField{
        reftextField = textField;
    }
  • 今、あなたはどんなボタン時計でも楽しく使うことができます(編集を始めるときに透明なボタンを追加することをお勧めします)

    - (void)dismissKeyboard {
          [reftextField resignFirstResponder];
    }
  • または、完了ボタンを辞任するには、これを試してください。

    //for resigning on done button    
    - (BOOL) textFieldShouldReturn:(UITextField *)textField{
        [textField resignFirstResponder];
        return YES;
    }

3

ここにリストに追加するために、外部タッチでキーボードを閉じる方法の私のバージョン。

viewDidLoad:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleTap:)];
[self.view addGestureRecognizer:singleTap];

どこでも:

-(void)handleSingleTap:(UITapGestureRecognizer *)sender{
    [textFieldName resignFirstResponder];
    puts("Dismissed the keyboard");
}

3

UITapGestureRecognizer--break UITextFieldのクリア(X)ボタンを使用することについて、ここにたくさんの素晴らしい答えがあります。解決策は、デリゲートを介してジェスチャー認識機能を抑制することです。

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch {
    BOOL touchViewIsButton = [touch.view isKindOfClass:[UIButton class]];
    BOOL touchSuperviewIsTextField = [[touch.view superview] isKindOfClass:[UITextField class]];
    return !(touchViewIsButton && touchSuperviewIsTextField);
}

これは最も堅牢なソリューションではありませんが、私にとってはうまくいきます。


まさに、同じテキストフィールドをタップすると、上記のすべてが失敗します。テキストフィールドが私のレスポンダーであっても辞任します。また、textField内のクリアボタンをタップすると、キーボードが閉じます
Mrug

ボタンのテストを行うだけで簡単にできますreturn !touchViewIsButton。キーボードを非表示にする必要がある他のボタンは、アクションでそれを行う必要があると思います。さらに、キーボードを閉じるときにレイアウトが変更されると、TouchUpInsideが呼び出されない場合があります。
マリアンチェルニー

3

次のように、UiViewのカテゴリを作成し、touchesBegan meathodをオーバーライドできます。

それは私にとってはうまく機能しています。そして、それはこの問題の中央解決策です。

#import "UIView+Keyboard.h"
@implementation UIView(Keyboard)

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.window endEditing:true];
    [super touchesBegan:touches withEvent:event];
}
@end

3

@ Jensen2kの回答のSwiftバージョン:

let gestureRecognizer : UITapGestureRecognizer = UITapGestureRecognizer.init(target: self, action: "dismissKeyboard")
self.view.addGestureRecognizer(gestureRecognizer)

func dismissKeyboard() {
    aTextField.resignFirstResponder()
}

一発ギャグ

self.view.addTapGesture(UITapGestureRecognizer.init(target: self, action: "endEditing:"))

2

私は新しい開発にバリーの例を使用しました。うまくいきました!しかし、私は少し変更を加える必要があり、編集されているテキストフィールドに対してのみキーボードを閉じる必要がありました。

それで、私はバリーの例に以下を追加しました:

- (void) textFieldDidBeginEditing:(UITextField *)textField
{
    _textBeingEdited = textField;
}
-(void) textFieldDidEndEditing:(UITextField *)textField
{
    _textBeingEdited = nil;
}

また、hideKeyboardメソッドを次のように変更しました。

- (IBAction)hideKeyboard:(id)sender
{
    // Just call resignFirstResponder on all UITextFields and UITextViews in this VC
    // Why? Because it works and checking which one was last active gets messy.
    //UITextField * tf = (UITextField *) sender;
    [_textBeingEdited resignFirstResponder];
}

2

最も簡単で短い方法の1つは、このコードを viewDidLoad

[self.view addGestureRecognizer:[[UITapGestureRecognizer alloc]
                                     initWithTarget:self.view
                                     action:@selector(endEditing:)]];

2
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {

    if let touch = touches.first{
     view.endEditing(true)

     }
}

2

私はここで多くの応答を試みましたが、運がありませんでした。タップジェスチャー認識機能が原因で、UIButtonsタップしても反応しません。cancelsTouchesInViewプロパティをNOジェスチャレコグナイによって、。

これが最終的に問題を解決したものです:

ivarを持っている:

UITapGestureRecognizer *_keyboardDismissGestureRecognizer;

テキストフィールドが編集を開始したら、ジェスチャー認識機能を設定します。

- (void) textFieldDidBeginEditing:(UITextField *)textField
{
    if(_keyboardDismissGestureRecognizer == nil)
    {
        _keyboardDismissGestureRecognizer = [[[UITapGestureRecognizer alloc]
                                       initWithTarget:self
                                       action:@selector(dismissKeyboard)] autorelease];
        _keyboardDismissGestureRecognizer.cancelsTouchesInView = NO;

        [self.view addGestureRecognizer:_keyboardDismissGestureRecognizer];
    }
}

次に、dismissKeyboardメソッドを設定する方法に秘訣があります。

- (void) dismissKeyboard
{
    [self performSelector:@selector(dismissKeyboardSelector) withObject:nil afterDelay:0.01];
}

- (void) dismissKeyboardSelector
{
    [self.view endEditing:YES];

    [self.view removeGestureRecognizer:_keyboardDismissGestureRecognizer];
    _keyboardDismissGestureRecognizer = nil;
}

dismissKeyboardSelectorタッチ処理実行スタックから実行を取り出すことについて何かがあるだけだと思います...



1

これは機能します

この例では、aTextFieldが唯一のUITextFieldです。他にUITextViewsがある場合は、やるべきことが少しあります。

// YourViewController.h
// ...
@interface YourViewController : UIViewController /* some subclass of UIViewController */ <UITextFieldDelegate> // <-- add this protocol
// ...
@end

// YourViewController.m

@interface YourViewController ()
@property (nonatomic, strong, readonly) UITapGestureRecognizer *singleTapRecognizer;
@end
// ...

@implementation
@synthesize singleTapRecognizer = _singleTapRecognizer;
// ...

- (void)viewDidLoad
{
    [super viewDidLoad];
    // your other init code here
    [self.view addGestureRecognizer:self.singleTapRecognizer];

{

- (UITapGestureRecognizer *)singleTapRecognizer
{
    if (nil == _singleTapRecognizer) {
        _singleTapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(singleTapToDismissKeyboard:)];
        _singleTapRecognizer.cancelsTouchesInView = NO; // absolutely required, otherwise "tap" eats events.
    }
    return _singleTapRecognizer;
}

// Something inside this VC's view was tapped (except the navbar/toolbar)
- (void)singleTapToDismissKeyboard:(UITapGestureRecognizer *)sender
{
    NSLog(@"singleTap");
    [self hideKeyboard:sender];
}

// When the "Return" key is pressed on the on-screen keyboard, hide the keyboard.
// for protocol UITextFieldDelegate
- (BOOL)textFieldShouldReturn:(UITextField*)textField
{
    NSLog(@"Return pressed");
    [self hideKeyboard:textField];
    return YES;
}

- (IBAction)hideKeyboard:(id)sender
{
    // Just call resignFirstResponder on all UITextFields and UITextViews in this VC
    // Why? Because it works and checking which one was last active gets messy.
    [aTextField resignFirstResponder];
    NSLog(@"keyboard hidden");
}

1
- (void)viewDidLoad
{
    [super viewDidLoad]; 

UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc]
                                                          initWithTarget:self
                                                          action:@selector(handleSingleTap:)];
    [singleTapGestureRecognizer setNumberOfTapsRequired:1];
    [singleTapGestureRecognizer requireGestureRecognizerToFail:singleTapGestureRecognizer];

    [self.view addGestureRecognizer:singleTapGestureRecognizer];
}

- (void)handleSingleTap:(UITapGestureRecognizer *)recognizer
{
    [self.view endEditing:YES];
    [textField resignFirstResponder];
    [scrollView setContentOffset:CGPointMake(0, -40) animated:YES];

}

1

このコードをViewController.mファイルに追加します。

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [self.view endEditing:YES];
}

1

この場合、ScrollViewを使用してScrollViewに追加することができます。そして、[表示]をTextFieldタップしてScrollViewから、キーボードを閉じます。念のためサンプルコードを作ってみました。このような、

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var scrollView: UIScrollView!
    @IBOutlet weak var textField: UITextField!

    override func viewDidLoad() {
        super.viewDidLoad()

        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(ViewController.tap(_:)))
        view.addGestureRecognizer(tapGesture)
        // Do any additional setup after loading the view, typically from a nib.
    }
    func tap(gesture: UITapGestureRecognizer) {
        textField.resignFirstResponder()
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

あなたのストーリーボードはちょうどそれを見てください。

ここに画像の説明を入力してください


1

UITextFieldの外側をクリックすると、UITapGestureRecongnizerメソッドを使用してキーボードを閉じることができます。ユーザーがUITextFieldの外側をクリックするたびにこのメソッドを使用すると、キーボードが非表示になります。以下は、それを使用するためのコードスニペットです。

 UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
                                   initWithTarget:self
                                   action:@selector(dismissk)];

    [self.view addGestureRecognizer:tap];


//Method
- (void) dismissk
{
    [abctextfield resignFirstResponder];
    [deftextfield resignFirstResponder];

}

1
  • ビューでデリゲートを設定するテキストフィールドが読み込まれました:

    override func viewDidLoad() 
    {
      super.viewDidLoad()
      self.userText.delegate = self
    }
  • この関数を追加:

    func textFieldShouldReturn(userText: UITextField!) -> Bool 
    {
     userText.resignFirstResponder()
     return true;
    }
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.