როგორ გამორთოთ პარალაქსის ეფექტი. Parallax ეფექტი iOS პროგრამებში

კიდევ ერთი ინფორმაციული შენიშვნა შეეხება პარალაქს, რომელიც მეშვიდეთან ერთად გამოჩნდა iOS ვერსია. ამ სტატიაში შევეცდებით ვუპასუხოთ იმ მთავარ კითხვებს, რომლებიც მომხმარებელს აწუხებს. რა არის ეს პანორამული ფონი და როგორ უნდა დააყენოთ დინამიური ფონი, როგორ გამორთოთ პარალაქსის ეფექტი?

პანორამული სურათები "შვიდიდან"

პანორამული სურათები უკვე იყო iOS 7-ის პირველ ბეტა-ვერსიაში. ამ მახასიათებლით შესაძლებელი გახდა დიდი პანორამების დაყენება, როგორც ფონი საწყის ეკრანზე ან დაბლოკვის ეკრანზე. ინსტალაციის შემდეგ, მომხმარებელს შეეძლო თავის iOS 7 გაჯეტს ატრიალებდა ხელში, ხოლო ფოტო ეკრანზე გადაადგილდებოდა იმის მიხედვით, თუ რა კუთხით იყო სმარტფონი ან ტაბლეტი მოქცეული.

მეექვსე ბეტა ვერსიაში, რატომღაც, მან ეს ეფექტი ამოიღო iOS 7-დან. ამიტომ ორიგინალ სუფთა iOS 7-ს არ აქვს ისეთი ფუნქცია, როგორიცაა პანორამები. თქვენ, რა თქმა უნდა, გაგიკვირდებათ და იკითხავთ: "სად არიან ისინი?" ისინი შეიცვალა პარალელური ეფექტით. რა თქმა უნდა, შეგიძლიათ განათავსოთ პანორამები, მაგრამ ვერ ნახავთ იგივე ეფექტს, რაც iOS 7 ბეტა 1-ში იყო.

პარალაქსის ეფექტი

ახლა გადავხედოთ პარალაკს. ეს არის დიდი ინოვაცია, რომელიც საშუალებას აძლევს მთავარ ეკრანზე არსებულ ხატებსა და შპალერებს ერთმანეთისგან განცალკევებით იცხოვრონ. ფონები ერთ პლანზეა, ხოლო ხატები - მეორეში. IOS 7-ის გაჯეტი კითხულობს ინფორმაციას გიროსკოპიდან და გადაადგილდება ეს ორი თვითმფრინავი ერთმანეთთან შედარებით ისე, რომ მოძრაობის შედეგად ვნახავთ სურათის იმ ნაწილებს, რომლებიც ადრე "კულისებში იყო". ამ მანიპულაციების გამო, მომხმარებელს აქვს სიღრმისა და მრავალგანზომილებიანობის განცდა.

როდესაც ჩვენ ავუხსენით, რა არის პარალელური ეფექტი და როგორ მუშაობს იგი iOS 7-ში, ცხადი ხდება, რომ განმარტებები, როგორიცაა "პანორამული ფონები" ან "პარალაქსის ფონები" შეცდომაში შეჰყავთ მომხმარებლებს. მართლაც, პროცესისა და რუსული ენის გააზრების თვალსაზრისით, ეს სხვადასხვა ფუნქციებია, სინამდვილეში, ისინი ზუსტად იგივე მოქმედებაა. ეგრეთ წოდებული "პანორამული ფონები" სხვა არაფერია თუ არა უბრალო ფოტოები, რომლებიც სხვა სურათებისგან მხოლოდ რეზოლუციით განსხვავდება.

ასეთი "პანორამული ფონები" რომ მიიღონ, მომხმარებლებს მხოლოდ ნებისმიერი ფოტოს შენახვა სჭირდებათ საჭირო რეზოლუციაში, შემდეგ კი ატვირთვა მათ ტაბლეტზე, სმარტფონზე ან iOS პლეერზე. თუ ამას არ აკეთებთ ან განათავსებთ ფოტოებს, რომლებიც მეექვსე ვერსიაშიც იყო გამოყენებული ოპერაციული სისტემა, შეიძლება აღმოჩნდეს მონაკვეთის უსიამოვნო დეფექტი.

ფოტოების რეზოლუციები, თუ გსურთ სამუშაო ეკრანზე მიიღოთ პარალაქსის ეფექტი (ფრჩხილებში მიუთითეთ სტანდარტული რეკომენდებული რეზოლუცია ფოტოებისათვის, პარალაქსის გარეშე iOS- ის მეექვსე ვერსიიდან):

  • ტაბლეტი iPad 2 - 1424 x 1424 (1024 x 1024)
  • IPad Mini - 1424 x 1424 (1024 x 1024)
  • აიპადი 3 - 2448 x 2448 (2048 x 2048)
  • აიპადი 4 - 2448 x 2448 (2048 x 2048)
  • IPhone 4S - 1360 x 1040 (960 x 640)
  • IPhone 5, 5S, 5C -1536 1040 (1136 x 640)
  • IPod მე -5 თაობა - 1536 x 1040 (1136 x 640)
  • IPhone 4 - არ უჭერს მხარს პარალაქსს (960 x 640)

ახლა უკვე ბევრი ადამიანია დაკავებული სხვადასხვა კოლექციების შექმნით ასეთი ეკრანმზოგით, არსებობს პროგრამები "დინამიური და პარალაქსის ეკრანმზოგი", რომელთა საშუალებითაც შეგიძლიათ ჩამოტვირთოთ ახალი სურათები. მაგრამ ახლა ჩვენ ვიცით, რომ ყველაფერი უფრო მარტივია, ვიდრე ჩანს. ასეთი პროგრამები ფულის მოჭრის კიდევ ერთი მცდელობაა.

როგორ შეგიძლიათ თავად გააკეთოთ ამ ეფექტის მქონე სურათები?

ყველაფრის გაკეთება შეგიძლიათ გამოსახულების რედაქტორის გამოყენებით. ყველაზე პოპულარული ვარიანტი, რა თქმა უნდა, Photoshop. მთავარი, რაც უნდა გაკეთდეს, არის თქვენი გაჯეტის შესაფერისი სწორი რეზოლუციის არჩევა (ზემოთ ჩვენ დავწერეთ ყველა ნებართვა ყველა მოწყობილობისთვის). მას შემდეგ, რაც სასურველი რეზოლუციის სურათი გექნებათ, მისი ატვირთვა მოგიწევთ თქვენს მოწყობილობაზე შემდეგიდან:

  1. გაუგზავნე სურათი საკუთარ თავს ელ.წერილიდა შემდეგ გადავარჩინოთ ფილმი;
  2. ატვირთეთ Dropbox– ში და კვლავ შეინახეთ ფოტოგალერეაში;
  3. ჩამოტვირთეთ სტანდარტული სქემის მიხედვით iTunes– ით.
როგორ გავთიშო პარალაქსი?

ზოგიერთ მომხმარებელს არ მოსწონს ეს ინოვაცია. შეგიძლიათ გამორთოთ პარამეტრებიდან. პარამეტრები, შემდეგ ძირითადი, შემდეგ უნივერსალური წვდომა და შემდეგ მოძრაობის შემცირება. დააჭირეთ ღილაკს "მოძრაობის შემცირება" - ამის დაჭერით შეგიძლიათ გამორთოთ პრალალაქსი.

დინამიური სურათები

IN iOS განახლებები გამოჩნდა 7 დინამიური ფოტო. დინამიური სურათების დაყენება შესაძლებელია პარამეტრებში. ჩვენ მივდივართ პარამეტრებში, იქ ვხვდებით ჩანართს "ფონი და სიკაშკაშე", შემდეგ ვხვდებით "ფონის შერჩევას" - დინამიური. დინამიური გამოსახულებები ერთმანეთისგან მხოლოდ ფერით განსხვავდება. ჩართულია ეს მომენტი Apple მხოლოდ 7 ვარიანტს გთავაზობთ. დინამიური გამოსახულებები საშუალებას აძლევს ფონის ელემენტებს გადაადგილება / შეცვალონ გამჭვირვალობა / შემცირდეს რეალურ დროში.

ალბათ ყველაზე დიდი რჩევაა iOS 10-ზე გადასვლა, თუ ძველი iPhone ან iPad გაქვთ. თუმცა, რადგან ამ სტატიას კითხულობთ, ასეთი რჩევის გაცემა გვიანია. მაგრამ არ დაიდარდოთ, არსებობს სხვა აპრობირებული მეთოდებიც!

მიეცით iOS 10 დრო

ახალი iOS შეფუთულია სხვადასხვა ფუნქციებით, რომლებიც თავდაპირველი გაშვების შემდეგ იწყებენ მონაცემთა ინდექსაციას და მოიხმარენ დიდი რიცხვი რესურსები. მაგალითად, ჩაშენებული გალერეა დაასკანირებს თქვენს ყველა ფოტოს, ამოიცნობს სახეებს და შეიძლება გამოიწვიოს სისტემის შენელება და რეაქციის შემცირება.

ნერვების გადასარჩენად, უბრალოდ უნდა დაუთმოთ iOS- ს, რომ დასრულდეს ყველა პროცესი თავდაპირველი გაშვების შემდეგ. ამას, ჩვეულებრივ, დაახლოებით რვა საათი სჭირდება, ამიტომ მოსახერხებელია განახლება საღამოს და თქვენი iPhone ან iPad მარტო დატოვება მთელი ღამის განმავლობაში. დილით შეამჩნევთ, რომ სისტემა უფრო სწრაფია.

პარალქსის ეფექტის გამორთვა

IOS 10 – ში კიდევ უფრო მეტი ანიმაციაა, რომლებიც მნიშვნელოვნად იტვირთება iPhone– ების და iPad– ების პროცესორებზე, განსაკუთრებით ძველ მოწყობილობებში. თუ სმარტფონის ან ტაბლეტის დახრისას სამუშაო მაგიდაზე არსებული ხატები არ მოძრაობენ, თქვენ ძალიან ცოტა გაქვთ დასაკარგი. მაგრამ ყველაფერი ბევრად უფრო სწრაფად გაიხსნება.

"პარამეტრები" → "ზოგადი" → "ხელმისაწვდომობა" motion "მოძრაობის შემცირება"

ჩვენთვის გადართვის ჩამრთველი იმალება პარამეტრების სიღრმეში. ჩვენ ვწკაპუნებთ და ვტკბებით.

შეამცირეთ ინტერფეისის გამჭვირვალობა

კიდევ ერთი ეფექტი დეკორაციების კატეგორიიდან. IOS 10 ინტერფეისში ბევრი ნახევრად გამჭვირვალე ელემენტია, დაწყებული დოკიდან დაწყებული სხვადასხვა ამომხტარი ფანჯრებიდან. თუ თქვენ გამორთეთ, მთელი ეს მშვენიერი შუშის ეფექტებით შეიცვლება მკაცრი ნაცრისფერი სუბსტრატებით, მაგრამ ეს არ გაფლანგავს დამატებით რესურსებს გაწევისთვის.


"პარამეტრები" → "ზოგადი" → "ხელმისაწვდომობა" "კონტრასტის გაზრდა" → "გამჭვირვალობის შემცირება"

გაუმჭვირვალობის გადართვის ჩამრთველი მდებარეობს კონტრასტის გაზრდის განყოფილებაში, მოძრაობის შემცირების გვერდით.

გამორთეთ ფონური აპის განახლება

მონაცემების განახლება ფონში მოსახერხებელია, მაგრამ ღირს თუ არა Twitter ან Facebook– ზე არხის დალოდება სამი წამით თქვენს iOS მოწყობილობაზე CPU– ს დამატებით დატვირთვაზე, რომელიც უკვე ძლივს უმკლავდება? გარდა ამისა, ეს ასევე არის დატვირთვა ბატარეაზე, რამოდენიმე წუთს ართმევთ ავტონომიური მუშაობა.


"პარამეტრები" "ზოგადი" → "შინაარსის განახლება"

ნაყენებს აქვს მთელი განყოფილება, რომელშიც მითითებულია ყველა დაინსტალირებული პროგრამები... თქვენ უნდა მიხვიდეთ იქ და დარწმუნდეთ, რომ გადართვის კონცენტრატორები ჩართულია მხოლოდ საპირისპიროდ თქვენთვის საჭირო პროგრამები... კიდევ უკეთესი, სრულად გამორთეთ განახლება.

გაათავისუფლეთ შენახვის ადგილი

ალბათ იცით, რომ iOS ზოგჯერ უცნაურად იქცევა, როდესაც იქ ცოტაა დარჩენილი. თავისუფალი სივრცე დისკზე. iOS 10 არ არის გამონაკლისი: თუ თქვენი iPhone ან iPad მეხსიერება სავსეა მოცულობით, სისტემა იწყებს შენელებას.


"პარამეტრები" → "ზოგადი" → "მეხსიერების და iCloud- ის გამოყენება"

გადახედეთ გამოყენების სტატისტიკას და გააკეთეთ აუდიტი. სასურველია გქონდეთ მინიმუმ 1 გბ თავისუფალი ადგილი. თუ პროგრამების დეინსტალაცია არ იძლევა სასურველ შედეგებს, გამოიყენეთ გაწმენდა.

გადატვირთეთ თქვენი iPhone ან iPad

თუ ეს ჯერ არ გაგიკეთებიათ, დარწმუნდით, რომ გადატვირთეთ თქვენი iOS მოწყობილობა. ჩართვის შემდეგ, დროებითი ფაილები, ქეში და სხვა საგნები ამოღებულია. ახლად დაინსტალირებულ iOS 10-ს ექნება ამ უსარგებლო ნაკადები, ასე რომ ნუ დაიზარებთ გადატვირთეთ და ამოიღეთ ყველა ზედმეტი


apple.com

გადატვირთვისთვის საჭიროა ერთდროულად დააჭიროთ და დააჭიროთ Home ღილაკს და დენის ღილაკს, სანამ ეკრანი არ გათეთრდება და Apple– ის ლოგო არ გამოჩნდება. გარდა ამისა, შეგიძლიათ უბრალოდ გამორთოთ და ჩართოთ თქვენი iPhone ან iPad. ეფექტიც მსგავსი იქნება.

მობილური აპლიკაციების დიზაინში პარარაქსის გამოყენების იდეა არ არის ახალი. მრავალი სხვას მსგავსად, ის ჩვენთანაც მოვიდა ვებ – დიზაინის სამყაროდან, სადაც თავიდან იგი გახდა ძალიან გავრცელებული მიმართულება. Parallax აძლევს დიზაინს შთამბეჭდავ სიღრმის ეფექტს და აშკარა მოცულობას. ამ დროისთვის ვებ – პროგრამების განვითარების სპეციფიკასთან დაკავშირებული ზოგიერთი უხერხულობის გამო, საიტების დიზაინში პარალაქსის მოდა ჩაცხრა. ამასთან მობილური პროგრამები სულ სხვა საუბარია. Parallax მობილური დიზაინის განმავლობაში ცხოვრობს და არ აპირებს წასვლას სადმე, და კიდევ დაემატება ახალი iOS 7-ის დიზაინი !

ამ სტატიაში ჩვენ გითხრათ ჩვენი DVParallaxView კომპონენტის შესახებ და აჩვენეთ მისი მოწყობილობის მაგალითზე, თუ როგორ უნდა დაამატოთ პროგრამას ზუსტად იგივე პარალელური ეფექტი, როგორც საშინაო ეკრანზე iOS 7. და კიდევ უკეთესი.

როგორ მუშაობს პარალაქსი?

მოდით, ცოტა ხნით გადავუხვიოთ ფიზიკის მკაცრ სამყაროში, რათა უკეთ გავიგოთ და თავად მოვაწყოთ სტრუქტურა პარალელური ეფექტის მექანიზმისა. ეს დაგვეხმარება ერთგულად განვავითაროთ იგი ტელეფონის ეკრანზე.

როგორ მუშაობს პარალაქსი? მისი არსი საკმაოდ მარტივია. Parallax არის სივრცის ორი განსხვავებული წერტილიდან დანახული ერთი და იგივე ობიექტის პოზიციის შეცვლა. ამ ეფექტის დაკვირვება რეალურ სამყაროში შეგიძლიათ ნებისმიერ დროს. თქვენ დაგჭირდებათ მხოლოდ რაღაც დიდი, რომლითაც შეგიძლიათ იმოქმედოთ ფონზე (მაგალითად, სახლის კედელი) და ამ ფონზე დაფიქსირებული რაიმე ობიექტი, რომელიც თქვენთან უფრო ახლოსაა, ვიდრე ფონის (მაგალითად, ლამპარის ან ხის). თუ ლამპარზე დაკვირვებისას კედლის გასწვრივ მიდიხართ, მოგეჩვენებათ რომ ლამპარი კედელზე გადადის. ამ ეფექტს ეწოდება პარალაქსი - სვეტის აშკარა გადაადგილება კედელთან შედარებით, როდესაც თქვენ მოძრაობთ დაკვირვების წერტილს, ანუ თქვენ. ამ შემთხვევაში, რაც უფრო ახლოსაა პოსტი თქვენთან, მით უფრო მაღალი იქნება მისი გადაადგილების სიჩქარე. და პირიქით, თუ თქვენ მნიშვნელოვნად მოშორებით საყრდენს და შეეცდებით ისევ სახლის კედლის გასწვრივ, პოსტი პრაქტიკულად არ მოძრაობს კედელთან შედარებით. ჩვენი თვალები მიჩვეულია მრავალი გზით შეაფასონ ობიექტებთან მანძილი და ერთ-ერთი მათგანია ობიექტის გადაადგილების ფარდობითი სიჩქარე. თუ დააკვირდებით სცენას, რომელშიც ობიექტები მოძრაობენ განსხვავებული სიჩქარე - თვალები დაუყოვნებლივ ეუბნებიან ტვინს, რომ საგნები შენგან სხვადასხვა მანძილზეა. ეს არის პარალაქსის გამოყენების მიმზიდველობა დიზაინში - მისი სიმულაციით, სიბრტყეს დაამატებთ ბრტყელ სცენას.

ასე რომ, პრაქტიკული გაგებით, ჩვენთვის პარალელური ეფექტია ის, რომ შენგან სხვადასხვა მანძილზე განლაგებული ობიექტები შენთან შედარებით განსხვავებული სიჩქარით მოძრაობენ. უფრო მეტიც, ეს სიჩქარე უკუპროპორციულია თქვენი ობიექტების დაშორებასთან. თუ ახლოს ხართ - ობიექტის სიჩქარე მაღალია, თუ შორს არის - პირიქით.

მოდით გამოვყოთ ამ ეფექტის ძირითადი კომპონენტები. პირველი, გამოხატული პარალაქსისთვის სასურველია ჰქონდეს ფონი, რომელიც იდეალურად სტაციონარულია, ან რომლის გადაადგილება უმნიშვნელო იქნება სხვა ობიექტებთან შედარებით. მეორე, პარარაქსი შეიძლება შეინიშნოს მხოლოდ მაშინ, როდესაც არსებობს ობიექტები, რომლებიც ავსებენ ადგილს ფონს და სათვალთვალო წერტილს შორის. და ამ საგნებში ყველაზე მთავარია განსხვავება თქვენგან დაშორებაში. სხვა სიტყვებით რომ ვთქვათ, ობიექტებმა უნდა შექმნან ერთგვარი იერარქია, რომლებიც სხვადასხვა მანძილზე იდგმება თვალსაზრისით ფონისკენ. დაბოლოს, მესამე, პარალაქსი შეუძლებელია ობიექტების გადაადგილების გარეშე, დაკვირვების წერტილთან სხვადასხვა სიჩქარით.

სამივე მთავარი პუნქტით - ფონით, საგნებით და ფარდობითი მოძრაობით - ჩვენ დავაკვირდებით პარალაქს.

პარალაქსის გადახვევა

ახლა, როდესაც ჩვენ ვიცით, როგორ მუშაობს პარალაქსი, უნდა გადავწყვიტოთ, როგორ განვახორციელებთ მას კოდექსში.

პარალაქსის განხორციელების ყველაზე აშკარა მიდგომა არის პარალაქსის გადახვევა. ითამაშეთ ძველი პლატფორმული თამაშები? თუ ასეა, მაშინ, ალბათ, გახსოვთ, რომ სანამ ხასიათი დონის მარცხენა ბოლოდან მარჯვნივ გადიოდა, ფონზე მდებარე ობიექტები საპირისპირო მიმართულებით მოძრაობდნენ სხვადასხვა სიჩქარით, რაც დამოკიდებულია წინა პლანზე მოსალოდნელ მანძილზე. აქ მოცემულია ვიკიპედიის ბმული, რომ ზუსტად გახსოვდეთ, რაზეც ვსაუბრობთ.

თამაშებში პარარაქსის გადაადგილება ისე იქნა შემუშავებული, რომ ეკრანზე დანახული სცენა რამდენიმე ფენისგან შედგება, რომლებზეც ობიექტებია განთავსებული. ფენის სავარაუდო მანძილიდან ეკრანიდან ("ტყის" ფენა უფრო ახლოს არის თქვენთან, ვიდრე "ღრუბლების" ფენა, რომლებიც უფრო ახლოს არიან თქვენთან, ვიდრე "მზის" ფენა), ფენები გადაადგილდებიან ამა თუ იმ სიჩქარით . ეს გარკვეულ სიღრმეს ანიჭებს იმას, რაც ხდება ეკრანზე, რაც ბრტყელ სურათს უფრო მოცულობით გამოიყურება. მართალია, ეს მიდგომა საკმაოდ კარგად ერგება იმას, რაც ჩვენ ვისწავლეთ პარალაქსის შესახებ. მართლაც, თქვენ შეგიძლიათ გონებრივად გაყოთ სივრცე თქვენსა და ფონს შორის ამ სივრცეში ობიექტების შემცველ ფენებად.

ლოგიკურია ვივარაუდოთ, რომ პარალაქსის ეფექტის განხორციელება უნდა მოთავსდეს კონტეინერის კომპონენტში, რომელიც შეიცავს სხვა კომპონენტებს და აქვს ხედების ერთგვარი იერარქია, რომელთა პოზიცია იერარქიაში მდებარეობის მიხედვით შეიცვლება მანძილით. მოდით ვიფიქროთ ამაზე, UIKit– ში არის ელემენტი, რომელიც უკვე შეიცავს მსგავს მახასიათებელს? რა თქმა უნდა აქვს! ნებისმიერი UIView შეიცავს სხვა UIView- ების იერარქიას, მასში განთავსებული addSubview: მეთოდით.

აქ მივდივართ ჩვენს DVParallaxView კომპონენტის მთავარ იდეაზე. იდეა ისაა, რომ კომპონენტი იყოს UIView- ის შთამომავალი, რომელიც მოიცავს პარალაქსის ეფექტს. თვითონ ეფექტი განხორციელდება CGPoint ტიპის contentOffset თვისებისთვის ახალი მნიშვნელობის გადაცემით. ამრიგად, DVParallaxView მნიშვნელობით მსგავსია UIScrollView- სთან. როდესაც ჩვენ შევცვლით contentOffset მნიშვნელობას, ჩვენ შევცვლით თითოეული ხედვის პოზიციას, რომელიც DVParallaxView იერარქიაშია. კომპენსაციის ოდენობა უკუპროპორციული იქნება იერარქიის "ზემოდან" ელემენტის დაშორებასთან. და მას შემდეგ, რაც ქვესათაურების მასივში ელემენტები ინახება იერარქიაში ყველაზე დაბალიდან (ესე იგი ეკრანიდან ყველაზე შორეულიდან), ანაზღაურება დამუშავებული ელემენტის ინდექსთან იქნება პირდაპირ პროპორციულად მასივის გავლით. . ამ გზით, ჩვენ ვხსნით ელემენტებს შორის "დისტანციის" არსებობას, როგორც რეალურ სამყაროში. მანძილის მნიშვნელობის გასაკონტროლებლად, ჩვენ გარე ინტერფეისში გამოვყოფთ თვისებას, რომელიც წარმოადგენს მულტიპლიკატს, რომლითაც გამრავლდება მასივის ელემენტის ინდექსი. მისი დაყენებით, თქვენ ყოველთვის შეგიძლიათ შეცვალოთ პარალაქსის მნიშვნელობა, როგორც გსურთ.

შემოთავაზებული მოდელი სიცოცხლისუნარიანად გამოიყურება, გააზრებულია ყველა ძირითადი საკითხი. აქ შეგვიძლია დასრულდეს ჩვენი გაცნობა DVParallaxView– ში კონცეპტუალური პარალელური მოწყობილობის შესახებ და დავიწყოთ ამბავი მისი პრაქტიკული განხორციელების შესახებ.

შექმენით DVParallaxView

ამ და მომდევნო თავებში ჩვენ უფრო დეტალურად განვიხილავთ DVParallaxView კომპონენტის შექმნას.

უშუალოდ განხორციელებამდე გადასვლამდე განვსაზღვროთ DVParallaxView კლასის ორი თვისება.

პირველ რიგში, პარალაქსი საუკეთესოდ გამოიყურება და ყველაზე ხშირად ხდება ხოლმე ზოგის ფონზე ლამაზი სურათი (გახსოვდეთ, ჩვენ გადავწყვიტეთ, რომ პარალაქსის ერთ-ერთი სავალდებულო კომპონენტია ფონი?). ამიტომ, ჩვენს კლასში აუცილებელია ფონის სურათის დაყენების შესაძლებლობის უზრუნველყოფა. ხედვის იერარქიის სათავეში ყოველთვის იქნება UIImageView კლასის კერძო ელემენტი, რომელსაც ჩვენ backgroundImageView ვუწოდებთ. ეს ელემენტი იმოქმედებს როგორც ფონი DVParallaxView- ში. მისი ადგილმდებარეობა იერარქიის ფესვზე გარანტიას მოგვცემს ყველაზე მცირე ფარდობით კომპენსაციას, როგორც ეს შეეფერება ფონს, ყველაზე შორეულ ობიექტს სცენაში. გადაცემისთვის ფონის სურათი კომპონენტის საჯარო ინტერფეისი ექნება სპეციალური თვისება - backgroundImage UIImage კლასის.

მეორეც, iOS 7 – ის პარალელური ეფექტი არ ზრდის მხოლოდ ფონის გადაადგილებას. თუ კარგად დააკვირდებით, შეამჩნევთ ერთ საინტერესო დეტალს: ხატები გადაადგილდებიან უკანა მიმართულებით საპირისპირო მიმართულებით. ეს კეთდება იმისათვის, რომ გაზარდოს პარალაქსის ეფექტი და განსხვავდება გადანაცვლებულ ფონს და აპლიკაციის ხატებს შორის, რომლებიც ერთი შეხედვით სტაციონარულია. მას შემდეგ, რაც ჩვენ iOS 7-ში დავიწყეთ პარალქსის დაფიქსირება და გასწრება, ამ კომპონენტს უბრალოდ უნდა დავამატოთ ასეთი ფუნქცია. ამისათვის ჩვენ შევქმნით frontView თვისებას საზოგადოებრივ ინტერფეისში, რომელშიც გადავიტანთ თვალსაზრისს, რომლის გადატანა გვინდა პარარაქსის საწინააღმდეგო მიმართულებით.

ასე რომ, ყველა მზადება გაკეთდა - თეორია შესწავლილია, კომპონენტის მოწყობილობაა გააზრებული. თქვენ შეგიძლიათ დაიწყოთ DVParallaxView- ის შექმნა. მზად ხართ?

შექმენით ერთი ნახვის პროექტი Xcode- ში, მიეცით მას სახელი და ნებისმიერი სხვა საჭირო ატრიბუტი. პროექტის შიგნით შექმენით DVParallaxView კლასი, რომელიც UIView კლასის შთამომავალია. შექმენით DVParallaxView სათაურის ფაილი და შეავსეთ იგი შემდეგნაირად.

# იმპორტი @ ინტერფეისი DVParallaxView: UIView @property (არაატომიური, ძლიერი) UII სურათი * backgroundImage; @ საკუთრება (არაატომიური, ძლიერი) UIView * frontView; @ ქონების (არაატომიური) float paralaxDistanceFactor; @ ქონების (არაატომიური) float parallaxFrontFactor; @ ქონების (არაატომიური) CG პუნქტის შინაარსი კომპენსაცია; @დასასრული

კლასის ყველა თვისება, რომელსაც აქ ხედავთ, უკვე განიხილეს ზემოთ, ამიტომ მათი ნაკრები არაფრით უნდა გაგაკვირვოთ. ორი თვისება, რომელზეც არ იყო განხილული აშკარად ადრე - parallaxDistanceFactor და parallaxFrontFactor - ეს არის ის ფაქტორები, რომლებიც ემსახურება იერარქიისა და შუბლის ხედვის ელემენტების ოფსეტური რაოდენობის კონტროლს.

კლასის განხორციელების ფაილში შექმენით პირადი ინტერფეისი. თქვენ უნდა ჩასვათ მას backgroundImageView თვისება, რადგან კლასს არ სჭირდება მასზე საზოგადოების წვდომის უზრუნველყოფა.

@ ინტერფეისი DVParallaxView () @ საკუთრება (არაატომიური, ძლიერი) UIImageView * backgroundImageView; @დასასრული

მოდით, კლასის ობიექტი შეიქმნას ინიცირებადWithFrame: მეთოდის გამოძახებით. მის ზარში თქვენ უნდა შეასრულოთ ყველა საწყისი კონფიგურაცია.

- (id) initWithFrame: (CGRect) ჩარჩო (self \u003d; if (self) (self.parallaxDistanceFactor \u003d 2.f; self.parallaxFrontFactor \u003d 20.f; self.backgroundColor \u003d ;; UIPanGestureRecognizer * panRecognizer \u003d [initWithTarget: self action : @selector (panHandler :)] ;;) თვითდაბრუნება;)

ამ მულტიპლიკატორის მნიშვნელობებს ვადგენთ ჩვენი პირადი შეხედულებისამებრ. სხვა მნიშვნელობების არჩევა შეგიძლიათ, თუ პარალაქსი ძალიან ძლიერი ან, პირიქით, ძალიან სუსტი მოგეჩვენებათ. Გაითვალისწინე ფონი თავიდანვე ხედვის იერარქიაშია, მაშინაც კი, თუ მისთვის სურათი არ არის მითითებული.

თუ თქვენ უკვე დაუსვით კითხვა „როგორ დავიწყებთ კომპონენტში ხედების გადაადგილების ინიცირებას?”, მაშინ მასზე პასუხის ნახვა უკვე შეგიძლიათ ინიციალიზაციის კოდში - UIPanGestureRecognizer. დიახ, გვახსოვს, რომ iOS 7 – ში პარალაქსი გამოწვეული იყო ტელეფონის დახრით. ყველაფერს თავისი დრო აქვს.

PanHandler: მეთოდის ამორჩევა გადაეცა UIPanGestureRecognizer- ს. მოდით, დაუყოვნებლივ დავწეროთ ეს მეთოდი, რომ შემდეგ მისი დავიწყება არ დაგვავიწყდეს.

# პრაგმის ნიშანი - ჟესტების დამმუშავებელი - (ბათილი) პანელი დამმუშავებელი: (UIPanGestureRecognizer *) პან (CGPoint თარგმანი \u003d ;;;)

არაფერია უჩვეულო. ჩვენ ვკითხულობთ შეხების მოძრაობას და იმავე კომპენსაციის მნიშვნელობას ვაყენებთ DVParallaxView- ზე. ნუ დაივიწყებთ ბოლოს მიღებული კომპენსაციის ნულს.

ახლა მოდის მხიარული ნაწილი. ჯერჯერობით არაფერი ხდება, რომ შეიცვალოს contentOffset, მოდით გამოვასწოროთ ეს. შექმენით setter მეთოდი setContentOffset, როგორც ნაჩვენებია ქვემოთ.

- (ძალადაკარგულად) setContentOffset: (CGPoint) contentOffset (BOOL backgroundReachedEdgeX \u003d არა; BOOL backgroundReachedEdgeY \u003d არა; ორმაგი შინაარსის გამყოფი; // 1 თუ (self.backgroundImageView) (contentDivider \u003d self.subviews.count * self.parallaxDistancePactent) .backgroundImageView.center.x + (contentOffset.x - _contentOffset.x) / contentDivider, self.backgroundImageView.center.y - (contentOffset.y - _contentOffset.y) / contentDivider); if ((newCenter.x - self .backgroundImageView) .frame.size.width / 2.f)\u003e 0.f || (newCenter.x + self.backgroundImageView.frame.size.width / 2.f)< self.bounds.size.width) { newCenter.x = self.backgroundImageView.center.x; backgroundReachedEdgeX = YES; } if ((newCenter.y - self.backgroundImageView.frame.size.height/2.f) > 0. ვ || (newCenter.y + self.backgroundImageView.frame.size.height / 2.f)< self.bounds.size.height) { newCenter.y = self.backgroundImageView.center.y; backgroundReachedEdgeY = YES; } self.backgroundImageView.center = newCenter; } // //2 for (int i = 1; i

მოდით, უფრო დეტალურად გავეცნოთ მეთოდს. BackgroundReachedEdgeX და backgroundReachedEdgeY ცვლადები ემსახურებიან იმის სიგნალს, რომ სურათის პირას მივაღწიეთ ფონის ანაზღაურებით. თუ ფონი მითითებულია, მაშინ აზრი აქვს შეამოწმოთ, ხომ არ გადავიარეთ backgroundImage. ყოველივე ამის შემდეგ, ჩვენ არ გვინდა, რომ მომხმარებლებმა განიხილონ სურათის "დაჭრა", ეს არაბუნებრივად გამოიყურება. ამიტომ, საჭიროდ ჩავთვალეთ, რომ პარალაქსის რეგიონი შეზღუდათ ფონის სურათის ზომით, ასეთის არსებობის შემთხვევაში. ამრიგად, // ბლოკი შეიცავს სურათის გარეთ გასვლის შემოწმებას.

ბლოკი // 2 არის ხედი იერარქიის ყველა ელემენტის გავლით მათი ცენტრების გადაადგილების მნიშვნელობების გაანგარიშებით, რაც დამოკიდებულია იერარქიაში მათი პოზიციიდან. ასევე, თუ ჩვენ ვიმყოფებით ფონის სურათის პირას X ან Y ღერძების გასწვრივ, მაშინ ამ ღერძების გასწვრივ გადაადგილება არ მოხდება.

მთავარი ოფსეტური ლოგიკა იქმნება, ბევრი აღარ რჩება - ძირითადი მახასიათებლების აქსესუარების დაყენება და addSubview მეთოდის გადატვირთვა.

# პრაგმის ნიშანი - მიმღები - (UIImageView *) backgroundImageView (თუ (! _backgroundImageView) (_backgroundImageView \u003d [init]; _backgroundImageView.contentMode \u003d UIViewContentModeCenter; _backgroundImageView.center \u003d CGPGintGet; პრაგმის ნიშანი - Setters - (ბათილია) setParallaxDistanceFactor: (float) parallaxDistanceFactor (_parallaxDistanceFactor \u003d MAX (0.f, parallaxDistanceFactor);) - (void) setParallaxFrontFactor \u003d parallaxFactor (float) .f, paralaxFront () (UIImage *) backgroundImage (_backgroundImage \u003d backgroundImage ;; CGPoint წარმოშობა \u003d CGPointMake (CGRectGetMidX (თვით. საზღვრები) - backgroundImage.size.width / 2.f, CGRectGetMidY (თვით საზღვრები) - backgroundImage.size.height / 2.f) self.backgroundImageView.frame \u003d (CGRect) (. წარმოშობა \u003d წარმოშობა, .size \u003d backgroundImage.size);) - (ბათილად) setFrontView: (UIView *) frontView (_frontView \u003d frontView; ; ) # პრაგმის ნიშანი - უპირველესი - (ბათილი) addSubview: (UIView *) ხედი (თუ (self.frontView); სხვა;)

მოდი წესრიგში წავიდეთ. ყველაფერი გასაგებია, როდესაც backgroundImageView– სთვის არის მიმღები - ჩვეულებრივი ზარმაცი მყისიერად, ჩვენ მხოლოდ საჭიროების შემთხვევაში ვქმნით ობიექტს. ParallaxDistanceFactor და ParallaxFrontFactor მნიშვნელობების დაყენებისას ავტომატურად შემოწმდება უარყოფითი მნიშვნელობები. ფონის ფონზე გამოსახულია backgroundImageView ფონის სურათი და ერთდროულად ათავსებს თავის პოზიციას ეკრანზე. FrontView მდგენელი ამავე დროს დასძენს გადახედვის იერარქიას frontView- ს, ასე რომ აზრი არა აქვს მას ხელით დაამატოთ. დაბოლოს, გადატვირთული addSubview: მეთოდი მუშაობს ჩვეულებისამებრ, თუ frontView არ არის განსაზღვრული DVParallaxView- ში, მაგრამ თუ ის განისაზღვრება, მაშინ ნებისმიერი ხედი იქნება მისი პოზიცია იერარქიაში. ყოველივე ამის შემდეგ, ვივარაუდოთ, რომ frontView ყოველთვის წინ არის.

ახლა ამაზე ვისაუბროთ და გადავიდეთ ჩვენი ტესტის პროექტის მთავარ ხედზე. დროა დავაკავშიროთ ჩვენი ახალი კომპონენტი და შეამოწმოთ იგი მოქმედებაში. მას შემდეგ, რაც ჩვენ გვინდა დავემსგავსოთ ახალ საწყის ეკრანს iOS 7-ში, შევეცდებით მისი ხელახლა შექმნას სატესტო პროექტში. ამისათვის ჩვენ გვჭირდება ფონის სურათი (სასურველია სივრცის გამოსახულებით) და პროგრამის ხატები. უფრო მეტიც, ვინაიდან ჩვენი კომპონენტი მხარს უჭერს სხვა ობიექტებს ფონს და წინა პონსეს შორის, ჩვენ მათც დავამატებთ რადგან ფონი არის სივრცე, ჩვენ განვავითარებთ კოსმოსურ თემას და გავაცოცხლებთ პატარა უდაბნოს სივრცეს პლანეტა დედამიწასთან და მის თანამგზავრთან - მთვარეთან. თქვენ შეგიძლიათ იპოვოთ ყველა საჭირო სურათი ინტერნეტში ან გადაიღოთ ჩვენი ტესტური პროექტიდან github- ზე.

IOS 7 – ში აპის ხატები წინა პლანზე დგას, ამიტომ DVParallaxView– ში უნდა მოვათავსოთ ისინი წინა – ხედში. ამისათვის ჩვენ შევქმნით UIView- ს, სადაც განათავსებთ ყველა ხატულას. იმისათვის, რომ ხელით არ შექმნათ და არ განათავსოთ ეს ყველა კომპონენტი, შექმენით კონტეინერი და ხატები სიუჟეტში, შემდეგ კი დააკავშირეთ ისინი კონტროლერთან.

ასე გამოიყურება წინა ხედი ჩვენს სატესტო პროგრამაში. მიამაგრეთ UIView კონტეინერი როგორც IBOutlet კონტროლერისთვის და დაარქვით მას frontView. მოდით განვიხილოთ DVParallaxView ინსტანციის შექმნა.

შექმენით parallaxView თვისება თქვენი კონტროლერის პირად ინტერფეისში. შექმენით მიმღები ამ თვისებისთვის.

- (DVParallaxView *) parallaxView (თუ (! _ParallaxView) (_parallaxView \u003d [initWithFrame: self.view.bounds]; [_parallaxView setBackgroundImage:]; UIImageView * earth \u003d [initWithImage:]; earth.frame \u003d. (CGRect) \u003d CGPointMake (CGRectGetMidX (self.view.bounds) - earth.image.size.width / 2.f, CGRectGetMidY (self.view.bounds) - earth.image.size.height / 2.f), .size \u003d დედამიწა .frame.size); [_parallaxView addSubview: earth]; UIImageView * moon \u003d [initWithImage:]; moon.frame \u003d (CGRect) (.origin \u003d CGPointMake (CGRectGetMidX (self.view.bounds) + 30.f, CGRectGetMidY ( self.view.bounds) + 30.f), .size \u003d moon.frame.size); [_parallaxView addSubview: moon]; [_parallaxView setFrontView: self.frontView];) return _parallaxView;)

კოდი გვიჩვენებს, თუ როგორ DVParallaxView კლასის ინსტანციის შექმნის შემდეგ მას მიენიჭება ფონი "galaxy2", შემდეგ დედამიწის და მთვარის სურათები ემატება ხედვის იერარქიას. შემდეგ წინა პლანზე მითითებულია frontView თვისება. ჩვენთვის მხოლოდ ის რჩება, რომ ჩვენი კომპონენტი დავამატოთ კონტროლერის ხედვის იერარქიას. ეს სტრიქონი დაამატეთ viewDidLoad მეთოდს:

;

Parallax მზად არის, თქვენ შეგიძლიათ დაიწყოთ პროექტი. როგორც ხედავთ, კომპონენტი, რომელიც ჩვენ უკვე შევქმენით მისი განვითარების ამ ეტაპზე, იძლევა სრულიად საიმედო პარალელურ ეფექტს.

მხოლოდ ერთი დეტალი დარჩა. ჯერჯერობით, მოძრავი ელემენტები შეხებით ხდება. დროა ამის გამოსწორება. დროა გიროსკოპი დაუკავშირდეს DVParallaxView- ს.

Core Motion- ის დაკავშირება

თუ თქვენ წაიკითხეთ ჩვენი სტატია, თქვენ უკვე გაქვთ ყველა საჭირო უნარი, რომ გამოიყენოთ გიროსკოპი ამ პროექტში, და ასევე იცით, რომ გიროსკოპის დასაკავშირებლად, პროექტს უნდა დაამატოთ Core Motion ჩარჩო. მაგრამ ზუსტად როგორ ვიყენებთ სენსორის მონაცემებს? ჩვენს პროექტში შევაჩერეთ rotationRate ტელეფონის დახრის ნიშნად. ანუ, contentOffset შეიცვლება, როდესაც იქნება ნულოვანი როტაციის კუთხოვანი სიჩქარე.

ჩარჩო დააკავშირეთ DVParallaxView კლასის განხორციელების ფაილთან.

# იმპორტი

შემდეგ კლასის კერძო ინტერფეისში შექმენით motionManager და displayLink თვისებები.

@ საკუთრება (არაატომიური, ძლიერი) CMMotionManager * motionManager;

@ საკუთრება (არაატომიური, ძლიერი) CADisplayLink * displayLink;

CMMotionManager არის მთავარი CoreMotion კლასი, რომელიც გამოიყენება სენსორების მონაცემებზე წვდომისთვის. CADisplayLink არის ტაიმერი, რომელიც მუშაობს ეკრანის განახლების სიჩქარით, რომელიც დარეკავს გიროსკოპიდან მონაცემების განახლების მეთოდს.

ახლა დავამატოთ აქსესუარის მეთოდები ახალი თვისებებისათვის.

- (CADisplayLink *) displayLink (თუ (! _DisplayLink) (_displayLink \u003d;) return _displayLink;) - (CMMotionManager *) motionManager (თუ (! _MotionManager) (_motionManager \u003d [init]; _motionManager.deviceMotionUpdate)

ცხადია, რომ DVParallaxView კომპონენტის გამოყენებით შემქმნელს ყოველთვის არ სჭირდება გიროსკოპის გამოყენება. შეიძლება არსებობდეს სხვა პირობები და მოქმედებები contentOffset მნიშვნელობის შესაცვლელად. ამიტომ, კომპონენტმა უნდა უზრუნველყოს არჩევანის გაკეთება, გირაოსკოპის საშუალებით პარალაქსის კონტროლი. ამ არჩევანის უზრუნველსაყოფად, ჩვენ საზოგადოებრივ ინტერფეისში ვაჩვენებთ gyroscopeControl თვისებას, რომელიც იქნება BOOL ტიპის. თუ იგი დაყენებულია YES, კომპონენტი იწყებს გიროსკოპის კითხვას და იერარქიის გადატანას, როდესაც მოწყობილობა დახრის. თუ იგი დაყენებულია NO, მაშინ კომპონენტი წყვეტს რეაგირებას მოწყობილობის კუთხის სიჩქარის ცვლილებებზე. ამავდროულად, motionManager და displayLink თვისებებმა უნდა შეაჩერონ მათი საქმიანობა, რომ პროცესორის რესურსები არ დაიყაროს.

როგორც შევთანხმდით, შექმენით gyroscopeControl თვისება საზოგადოებრივ ინტერფეისში.

@ საკუთრება (არაატომიური, ძლიერი) BOOL gyroscopeControl;

შემდეგ შექმენით მისთვის სეტი.

- (ბათილად) setGyroscopeControl: (BOOL) gyroscopeControl (if (_gyroscopeControl \u003d\u003d gyroscopeControl) დაბრუნდება; _gyroscopeControl \u003d gyroscopeControl; if (gyroscopeControl) (; forMode: NSDefaultRunLoopMode];) სხვა

გაითვალისწინეთ, რომ როდესაც ქონება დგინდება YES, motionManager იწყებს კითხვას მოწყობილობის მოძრაობიდან და არა გიროსკოპიდან. ამ არჩევანის მიზეზები დეტალურად არის აღწერილი სტატიაში. NO- ზე დაყენებისთანავე, მონაცემთა მიღება შეჩერებულია, displayLink წაიშლება ყველა ძაფიდან ბათილი მეთოდის გამოძახებით, ხოლო motionManager თავად ხდება nil.

ახლა ჩვენ მხოლოდ უნდა დავწეროთ გიროსკოპიდან მონაცემების ოფსეტური მონაცემების გადაკეთების მეთოდი, აგრეთვე განვახორციელოთ displayLinkHandler მეთოდი, რომელსაც ეწოდება displayLink ტაიმერი.

# პრაგმის ნიშანი - ჟიროსკოპი კომპენსაციისთვის - (CGPoint) შინაარსი OffsetWithRotationRate: (CMRotationRate) rotationRate (ორმაგი xOffset \u003d (fabs (rotationRate.y)\u003e DV_ROTATION_THRESHOLD)? rotationRate.y * DV_ROTATION_THULT) rotationRate.x * DV_ROTATION_MULTIPLIER: 0.f; CGPoint newOffset \u003d CGPointMake (self.contentOffset.x + xOffset, self.contentOffset.y + yOffset); დაბრუნების newOffset;) - (მმართველი) (displayLinkL)

განხორციელების ფაილის დასაწყისშივე არ უნდა დაგვავიწყდეს, რომ აღწეროთ ორი განსაზღვრება-მუდმივა, რომელიც ჩვენ გამოვიყენეთ ტრანსფორმაციის მეთოდში.

# განსაზღვრეთ DV_ROTATION_THRESHOLD 0.1f

# განსაზღვრეთ DV_ROTATION_MULTIPLIER 2.5f

კონტროლერის კლასში, DVParallaxView ობიექტის შექმნისას, მიუთითეთ მისი gyroscopeControl თვისება YES.

ასე რომ, გიროსკოპი დაკავშირებულია, მისგან მიღებული მონაცემები ახლა სწორად უნდა გადაკეთდეს ოფსეტურად. ახლა თქვენ შეგიძლიათ შეადგინოთ პროექტი და აწარმოოთ იგი მოწყობილობაზე. მშვენივრად გამოიყურება, არა? გაითვალისწინეთ, რომ გიროსკოპი იმუშავებს მხოლოდ რეალურ მოწყობილობაზე.

დასკვნა

თუ ამ აბზაცს კითხულობთ, ახლახანს შექმენით ცალკეული კომპონენტი პარალაქსის ეფექტით, ისევე როგორც iOS 7-ში. და კიდევ უფრო მეტი - ეფექტი DVParallaxView კომპონენტში უფრო სრულყოფილია, რადგან ის არა მხოლოდ ფონს და წინა პლანზე გადადის, არამედ ასევე მათ შორის ელემენტების მთელი იერარქია. როგორც ხედავთ, მისი მოწყობილობა სულაც არ იყო რთული.

DVParallaxView შეიქმნა ჩვენ მიერ თავისუფალი გამოყენებისათვის და აიტვირთა ჩვენს საცავში. გამოიყენეთ, გააუმჯობესეთ, მოხარული ვიქნებით თქვენს წინადადებებზე!

შევეცადოთ ვუპასუხოთ მწვავე კითხვებს, რომელსაც მკითხველები სვამენ და სვამენ კომენტარებში. ჩვენ სიამოვნებით ვუპასუხებთ მათ.

დავიწყოთ პანორამული ფონები iOS 7 – ში. უფრო სწორად, მათი არარსებობით ...

პანორამული ფონები iOS 7-ში

პანორამული ფონები გამოჩნდა iOS 7 ბეტა 1-ში. ამ ფუნქციამ დაუშვა პანორამული ფოტოების დაყენება (პანორამების მაგალითები ჩვენს ფორუმზეა), როგორც ფონი სამუშაო მაგიდაზე ან დაბლოკვის ეკრანზე. მომხმარებლებმა iOS 7 მოწყობილობა ჩართეს ხელში და ფოტო გადაადგილდა ეკრანზე, იმის მიხედვით, თუ რა კუთხით იმყოფება მოწყობილობა ამჟამად.

IOS 7 ბეტა 6-ში რატომღაც ვაშლი ამოიღო ეს ფუნქციონალური პროგრამა. Ამიტომაც iOS 7.0-ის საბოლოო ვერსიაში არ არსებობს ”პანორამული ფონის” ფუნქცია!

თქვენ, რა თქმა უნდა, შეგიძლიათ დააყენოთ პანორამები ფონის ნაცვლად. სისტემა საშუალებას მოგცემთ ამის გაკეთება, მაგრამ ეს არ მოგცემთ "ძალიან" ეფექტს. თქვენ ნახავთ მხოლოდ Parallax ეფექტს.

პარალაქსის ეფექტი iOS 7-ში

პარალაქსის ეფექტი - ლამაზი ინოვაცია iOS- ში. 7. Parallax ეფექტი საშუალებას იძლევა ფონები და ხატები დესკტოპზე არსებობდეს, თითქოს ერთმანეთისგან დამოუკიდებლად. ხატები ერთ პლანზეა, ხოლო ფონები მეორეში. IOS 7 მოწყობილობა გიროსკოპის მონაცემებს კითხულობს და ამ თვითმფრინავებს ერთმანეთთან შედარებით მოძრაობს. მოძრაობების შედეგად, ჩვენ ვხედავთ ფონის იმ ნაწილებს, რომლებიც კულისებში დარჩა. არსებობს მრავალგანზომილებიანობისა და სიღრმის განცდა.

ახლა, როდესაც მე ავუხსენი, თუ როგორ მუშაობს პარალელური ეფექტი iOS 7-ში, აშკარა ხდება, რომ ცნებები, როგორიცაა "Parallax wallpaper" ან "Wallpaper with paralax effect" რუსული ენის თვალსაზრისით და პროცესის გაგება მცდარია და მხოლოდ შეცდომაში შეიყვანს მომხმარებლებს. ეგრეთ წოდებული "Parallax wallpapers" სხვა არაფერია, თუ არა ჩვეულებრივი სტანდარტული ფონები, რომლებიც განსხვავდება მხოლოდ რეზოლუციით.

საკმარისია ფოტოში შენახვა სასურველი რეზოლუცია, ატვირთეთ iPad, iPhone ან აიპოდ თაჩი და ეს ექნება პარალაქსულ ეფექტს iOS 7 – ში. თუ ამას არ აკეთებთ ან იყენებთ iOS 6 – ისთვის შექმნილ ფონს, უსიამოვნოა გამოსახულების გაჭიმვის ეფექტი ამის გამო ბევრ ჩვენს მკითხველს კარგად ვერ სძინავს.

კადრების რეზოლუციები, თუ გსურთ პარალაქსის ეფექტი ფონით (ფრჩხილებში არის სტანდარტული რეკომენდებული რეზოლუცია კადრებისთვის paralax ეფექტის გარეშე iOS 6 და ქვემოთ):

iPad 21424 x 1424 (1024 x 1024)

iPad Mini1424 x 1424 (1024 x 1024)

iPad 32448 x 2448 (2048 x 2048)

iPad 42448 x 2448 (2048 x 2048)

iPhone 4S1360 x 1040 (960 x 640)

iPhone 5, 5S, 5C1536-დან 1040 წლამდე (1136 x 640)

iPod Touch 5Gen1536-დან 1040 წლამდე (1136 x 640)

აიფონ 4მხარს არ უჭერს პარალაქსის ეფექტს (960 x 640)

მეწარმე თანამებრძოლები უკვე აქცევს სპეციალური პარალაქსის ფონითა კოლექციებს და ქმნის კიდეც ასეთ პროგრამებს. მაგრამ მე და შენ ახლა ვიცით, რომ ყველაფერი უფრო მარტივია, ვიდრე ჩანს და ეს პროგრამა უბრალოდ უმეცრების ტალღაზე ფულის სწრაფად მოჭრის მცდელობა.

როგორ გააკეთოთ ფონი საკუთარ თავს?

ფონი საკუთარი თავის გაკეთება ძალიან მარტივია, თუნდაც პარალელური ეფექტით, მის გარეშეც.

ჩვენს საიტზე უკვე დიდი ხანია ეტაპობრივად ინსტრუქცია Photoshop- ის მაგალითზე - როგორ გავაკეთოთ iPad ფონი. ინსტრუქციამ აქტუალობა არ დაკარგა. მთავარია თქვენი მოწყობილობისთვის სწორი რეზოლუციის არჩევა (ამ სტატიაში რეკომენდებული რეზოლუცია ზემოთ მოცემულია).

სურათის საჭირო რეზოლუციაში შექმნის შემდეგ შეგიძლიათ:

1) გაუგზავნეთ საკუთარ თავს ფოსტით და შემდეგ შეინახეთ გადასაღებად

როგორ გავთიშოთ Parallax ეფექტი iOS 7-ში?

ზოგიერთ მომხმარებელს არ მოსწონს პარალაქსის ეფექტი. შეგიძლიათ გამორთოთ პარამეტრებიდან.

პარამეტრები-\u003e ზოგადი-\u003e უნივერსალური წვდომა-\u003e მოძრაობის შემცირება. ჩართეთ "მოძრაობის შემცირება" ჩამრთველი.

დინამიური ფონები iOS 7-ში

IOS 7 შემოაქვს სისტემაში ჩაშენებული დინამიური ფონები. ზოგი მათ "ცოცხალს" ან "დინამიურს" უწოდებს. მაგრამ Apple- მა თქვა დინამიური, რაც ნიშნავს, რომ ჩვენ ვიცავთ ოფიციალურ ტერმინოლოგიას.

მათი ინსტალაცია შეგიძლიათ პარამეტრებში ( პარამეტრები -\u003e ფონი და სიკაშკაშე -\u003e ფონის შერჩევა -\u003e დინამიური) ტიპის მიხედვით, დინამიური ფონები ერთმანეთისგან მხოლოდ ფერით განსხვავდება. ახლა 7 ფერია ასარჩევი.

ყველა ფონი, ბურთულები რეალურ დროში მოძრაობენ / ამცირებენ / ზრდიან / ცვლილებენ გამჭვირვალობას (ყველამ უკვე იცის ბურთების სიყვარულის Apple- ის შესახებ).

საკუთარი უნიკალური დინამიური ფონები iOS 7-ისთვის ახლა ოფიციალურად ვერ გაკეთდება! გამოიყენე ის რაც გაქვს. მომავალში შეიძლება არსებობდეს საკუთარი დინამიური ფონის დაყენების გზები.

წარმოუდგენლად პოპულარული გათავისუფლების შემდეგ, ზოგი ამხანაგის iOS 7-ის თანახმად, სხვა ამხანაგებს თავბრუსხვევა დაეუფლათ. ან წარმატებისგან, ან მორევიდან iPhone- ის ეკრანი... მართლაც, ზოგჯერ მენიუს თითით ხვრინავ და ის იბრუნებს, მაგრამ ვერაფერს იზამს, ან ტელეფონს არ ესმის, რა არის საჭირო მისგან, ან მომხმარებელთა უმეტესობა სინამდვილეს ამბობს: ახალი პარალელური ეფექტი მხოლოდ ხელს უშლის ნორმალურ მუშაობას. აქ არის კითხვა - როგორ გამორთოთ ციმციმის, მოხვევის, მოახლოების, მცოცავი, შეჯახების ყველა ეს ეფექტი - ერთი სიტყვით - ყველა ეს ზედმეტი ლამაზმანი?

გაითვალისწინეთ, რომ ნებისმიერი დამატებითი გრაფიკული ეფექტის გავლენა ძალზე შესამჩნევია iPhone– ის აკუმულატორი, მათი განხორციელებისთვის, ჩართულია აპარატის დამატებითი ძალიან სერიოზული უფლებამოსილებები. ამრიგად, მთელი ამ სისულელის გამორთვა გაზრდის ბატარეის მუშაობას. აიფონის შემთხვევაში, დამატებითი წუთიც კი ზოგჯერ აუცილებელია, არა? ვუყურებ როგორ იშლება ბატარეის მუხტი, ზოგჯერ მინდა ტირილი.

მაშ, გამორთე!

1. iOS პარამეტრები -\u003e ზოგადი

2. ძირითადი -\u003e ხელმისაწვდომობა

3. უნივერსალური წვდომა -\u003e მოძრაობის შემცირება

4. მოძრაობის შემცირება -\u003e სლაიდერი მარჯვნივ